fix:知识库接口调整

This commit is contained in:
rainv123
2025-11-05 15:05:53 +08:00
parent 3eeace5d5f
commit 4cde66e7de
3 changed files with 22 additions and 24 deletions
@@ -23,17 +23,16 @@ import xiaozhi.common.page.PageData;
import xiaozhi.common.utils.Result; import xiaozhi.common.utils.Result;
import xiaozhi.modules.knowledge.dto.KnowledgeBaseDTO; import xiaozhi.modules.knowledge.dto.KnowledgeBaseDTO;
import xiaozhi.modules.knowledge.service.KnowledgeBaseService; import xiaozhi.modules.knowledge.service.KnowledgeBaseService;
import java.util.Map;
@AllArgsConstructor @AllArgsConstructor
@RestController @RestController
@RequestMapping("/api/v1") @RequestMapping("/datasets")
@Tag(name = "知识库管理") @Tag(name = "知识库管理")
public class KnowledgeBaseController { public class KnowledgeBaseController {
private final KnowledgeBaseService knowledgeBaseService; private final KnowledgeBaseService knowledgeBaseService;
@GetMapping("/datasets") @GetMapping
@Operation(summary = "分页查询知识库列表") @Operation(summary = "分页查询知识库列表")
@RequiresPermissions("sys:role:normal") @RequiresPermissions("sys:role:normal")
public Result<PageData<KnowledgeBaseDTO>> getPageList( public Result<PageData<KnowledgeBaseDTO>> getPageList(
@@ -46,7 +45,7 @@ public class KnowledgeBaseController {
return new Result<PageData<KnowledgeBaseDTO>>().ok(pageData); return new Result<PageData<KnowledgeBaseDTO>>().ok(pageData);
} }
@GetMapping("/datasets/{dataset_id}") @GetMapping("/{dataset_id}")
@Operation(summary = "根据知识库ID获取知识库详情") @Operation(summary = "根据知识库ID获取知识库详情")
@RequiresPermissions("sys:role:normal") @RequiresPermissions("sys:role:normal")
public Result<KnowledgeBaseDTO> getByDatasetId(@PathVariable("dataset_id") String datasetId) { public Result<KnowledgeBaseDTO> getByDatasetId(@PathVariable("dataset_id") String datasetId) {
@@ -54,7 +53,7 @@ public class KnowledgeBaseController {
return new Result<KnowledgeBaseDTO>().ok(knowledgeBaseDTO); return new Result<KnowledgeBaseDTO>().ok(knowledgeBaseDTO);
} }
@PostMapping("/datasets") @PostMapping
@Operation(summary = "创建知识库") @Operation(summary = "创建知识库")
@RequiresPermissions("sys:role:normal") @RequiresPermissions("sys:role:normal")
public Result<KnowledgeBaseDTO> save(@RequestBody @Validated KnowledgeBaseDTO knowledgeBaseDTO) { public Result<KnowledgeBaseDTO> save(@RequestBody @Validated KnowledgeBaseDTO knowledgeBaseDTO) {
@@ -62,7 +61,7 @@ public class KnowledgeBaseController {
return new Result<KnowledgeBaseDTO>().ok(resp); return new Result<KnowledgeBaseDTO>().ok(resp);
} }
@PutMapping("/datasets/{dataset_id}") @PutMapping("/{dataset_id}")
@Operation(summary = "更新知识库") @Operation(summary = "更新知识库")
@RequiresPermissions("sys:role:normal") @RequiresPermissions("sys:role:normal")
public Result<KnowledgeBaseDTO> update(@PathVariable("dataset_id") String datasetId, public Result<KnowledgeBaseDTO> update(@PathVariable("dataset_id") String datasetId,
@@ -72,7 +71,7 @@ public class KnowledgeBaseController {
return new Result<KnowledgeBaseDTO>().ok(resp); return new Result<KnowledgeBaseDTO>().ok(resp);
} }
@DeleteMapping("/datasets/{dataset_id}") @DeleteMapping("/{dataset_id}")
@Operation(summary = "删除单个知识库") @Operation(summary = "删除单个知识库")
@Parameter(name = "dataset_id", description = "知识库ID", required = true) @Parameter(name = "dataset_id", description = "知识库ID", required = true)
@RequiresPermissions("sys:role:normal") @RequiresPermissions("sys:role:normal")
@@ -81,7 +80,7 @@ public class KnowledgeBaseController {
return new Result<>(); return new Result<>();
} }
@DeleteMapping("/datasets/batch") @DeleteMapping("/batch")
@Operation(summary = "批量删除知识库") @Operation(summary = "批量删除知识库")
@Parameter(name = "ids", description = "知识库ID列表,用逗号分隔", required = true) @Parameter(name = "ids", description = "知识库ID列表,用逗号分隔", required = true)
@RequiresPermissions("sys:role:normal") @RequiresPermissions("sys:role:normal")
@@ -4,7 +4,6 @@ import java.util.List;
import java.util.Map; import java.util.Map;
import org.apache.shiro.authz.annotation.RequiresPermissions; import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
@@ -22,7 +21,7 @@ import xiaozhi.modules.knowledge.service.KnowledgeFilesService;
@AllArgsConstructor @AllArgsConstructor
@RestController @RestController
@RequestMapping("/api/v1/datasets/{dataset_id}") @RequestMapping("/datasets/{dataset_id}")
@Tag(name = "知识库文档管理") @Tag(name = "知识库文档管理")
public class KnowledgeFilesController { public class KnowledgeFilesController {
@@ -74,7 +74,7 @@ export default {
}).toString(); }).toString();
makeApiRequest({ makeApiRequest({
url: `${getServiceUrl()}/api/v1/datasets?${queryParams}`, url: `${getServiceUrl()}/datasets?${queryParams}`,
method: 'GET', method: 'GET',
callback: callback, callback: callback,
errorCallback: errorCallback, errorCallback: errorCallback,
@@ -91,10 +91,10 @@ export default {
*/ */
createKnowledgeBase(data, callback, errorCallback) { createKnowledgeBase(data, callback, errorCallback) {
console.log('createKnowledgeBase called with data:', data); console.log('createKnowledgeBase called with data:', data);
console.log('API URL:', `${getServiceUrl()}/api/v1/datasets`); console.log('API URL:', `${getServiceUrl()}/datasets`);
makeApiRequest({ makeApiRequest({
url: `${getServiceUrl()}/api/v1/datasets`, url: `${getServiceUrl()}/datasets`,
method: 'POST', method: 'POST',
data: data, data: data,
headers: { 'Content-Type': 'application/json' }, headers: { 'Content-Type': 'application/json' },
@@ -126,10 +126,10 @@ export default {
*/ */
updateKnowledgeBase(datasetId, data, callback, errorCallback) { updateKnowledgeBase(datasetId, data, callback, errorCallback) {
console.log('updateKnowledgeBase called with datasetId:', datasetId, 'data:', data); console.log('updateKnowledgeBase called with datasetId:', datasetId, 'data:', data);
console.log('API URL:', `${getServiceUrl()}/api/v1/datasets/${datasetId}`); console.log('API URL:', `${getServiceUrl()}/datasets/${datasetId}`);
makeApiRequest({ makeApiRequest({
url: `${getServiceUrl()}/api/v1/datasets/${datasetId}`, url: `${getServiceUrl()}/datasets/${datasetId}`,
method: 'PUT', method: 'PUT',
data: data, data: data,
headers: { 'Content-Type': 'application/json' }, headers: { 'Content-Type': 'application/json' },
@@ -148,10 +148,10 @@ export default {
*/ */
deleteKnowledgeBase(datasetId, callback, errorCallback) { deleteKnowledgeBase(datasetId, callback, errorCallback) {
console.log('deleteKnowledgeBase called with datasetId:', datasetId); console.log('deleteKnowledgeBase called with datasetId:', datasetId);
console.log('API URL:', `${getServiceUrl()}/api/v1/datasets/${datasetId}`); console.log('API URL:', `${getServiceUrl()}/datasets/${datasetId}`);
makeApiRequest({ makeApiRequest({
url: `${getServiceUrl()}/api/v1/datasets/${datasetId}`, url: `${getServiceUrl()}/datasets/${datasetId}`,
method: 'DELETE', method: 'DELETE',
callback: callback, callback: callback,
errorCallback: errorCallback, errorCallback: errorCallback,
@@ -171,7 +171,7 @@ export default {
const idsStr = Array.isArray(ids) ? ids.join(',') : ids; const idsStr = Array.isArray(ids) ? ids.join(',') : ids;
makeApiRequest({ makeApiRequest({
url: `${getServiceUrl()}/api/v1/datasets/batch?ids=${idsStr}`, url: `${getServiceUrl()}/datasets/batch?ids=${idsStr}`,
method: 'DELETE', method: 'DELETE',
callback: callback, callback: callback,
errorCallback: errorCallback, errorCallback: errorCallback,
@@ -195,7 +195,7 @@ export default {
}).toString(); }).toString();
makeApiRequest({ makeApiRequest({
url: `${getServiceUrl()}/api/v1/datasets/${datasetId}/documents?${queryParams}`, url: `${getServiceUrl()}/datasets/${datasetId}/documents?${queryParams}`,
method: 'GET', method: 'GET',
callback: callback, callback: callback,
errorCallback: errorCallback, errorCallback: errorCallback,
@@ -213,7 +213,7 @@ export default {
*/ */
uploadDocument(datasetId, formData, callback, errorCallback) { uploadDocument(datasetId, formData, callback, errorCallback) {
makeApiRequest({ makeApiRequest({
url: `${getServiceUrl()}/api/v1/datasets/${datasetId}/documents`, url: `${getServiceUrl()}/datasets/${datasetId}/documents`,
method: 'POST', method: 'POST',
data: formData, data: formData,
headers: { 'Content-Type': 'multipart/form-data' }, headers: { 'Content-Type': 'multipart/form-data' },
@@ -237,7 +237,7 @@ export default {
}; };
makeApiRequest({ makeApiRequest({
url: `${getServiceUrl()}/api/v1/datasets/${datasetId}/chunks`, url: `${getServiceUrl()}/datasets/${datasetId}/chunks`,
method: 'POST', method: 'POST',
data: requestBody, data: requestBody,
headers: { 'Content-Type': 'application/json' }, headers: { 'Content-Type': 'application/json' },
@@ -257,7 +257,7 @@ export default {
*/ */
deleteDocument(datasetId, documentId, callback, errorCallback) { deleteDocument(datasetId, documentId, callback, errorCallback) {
makeApiRequest({ makeApiRequest({
url: `${getServiceUrl()}/api/v1/datasets/${datasetId}/documents/${documentId}`, url: `${getServiceUrl()}/datasets/${datasetId}/documents/${documentId}`,
method: 'DELETE', method: 'DELETE',
callback: callback, callback: callback,
errorCallback: errorCallback, errorCallback: errorCallback,
@@ -286,7 +286,7 @@ export default {
} }
makeApiRequest({ makeApiRequest({
url: `${getServiceUrl()}/api/v1/datasets/${datasetId}/documents/${documentId}/chunks?${queryParams}`, url: `${getServiceUrl()}/datasets/${datasetId}/documents/${documentId}/chunks?${queryParams}`,
method: 'GET', method: 'GET',
callback: callback, callback: callback,
errorCallback: errorCallback, errorCallback: errorCallback,
@@ -304,7 +304,7 @@ export default {
*/ */
retrievalTest(datasetId, data, callback, errorCallback) { retrievalTest(datasetId, data, callback, errorCallback) {
makeApiRequest({ makeApiRequest({
url: `${getServiceUrl()}/api/v1/datasets/${datasetId}/retrieval-test`, url: `${getServiceUrl()}/datasets/${datasetId}/retrieval-test`,
method: 'POST', method: 'POST',
data: data, data: data,
headers: { 'Content-Type': 'application/json' }, headers: { 'Content-Type': 'application/json' },