From b7ba9fdf67f9082c78db0f1e795c109fd691bb8d Mon Sep 17 00:00:00 2001 From: CaptainB Date: Mon, 21 Jul 2025 12:05:55 +0800 Subject: [PATCH] fix: change HitTest action methods from GET to PUT in API views --- apps/application/views/application_views.py | 38 ++++++++++----------- apps/dataset/views/dataset.py | 22 ++++++------ ui/src/api/application.ts | 2 +- ui/src/api/dataset.ts | 2 +- 4 files changed, 31 insertions(+), 33 deletions(-) diff --git a/apps/application/views/application_views.py b/apps/application/views/application_views.py index f16041d1d..8c3e8059b 100644 --- a/apps/application/views/application_views.py +++ b/apps/application/views/application_views.py @@ -7,16 +7,6 @@ @desc: """ -from django.core import cache -from django.http import HttpResponse -from django.utils.translation import gettext_lazy as _, gettext -from drf_yasg.utils import swagger_auto_schema -from langchain_core.prompts import PromptTemplate -from rest_framework.decorators import action -from rest_framework.parsers import MultiPartParser -from rest_framework.request import Request -from rest_framework.views import APIView - from application.serializers.application_serializers import ApplicationSerializer from application.serializers.application_statistics_serializers import ApplicationStatisticsSerializer from application.swagger_api.application_api import ApplicationApi @@ -31,6 +21,14 @@ from common.response import result from common.swagger_api.common_api import CommonApi from common.util.common import query_params_to_single_dict from dataset.serializers.dataset_serializers import DataSetSerializers +from django.core import cache +from django.http import HttpResponse +from django.utils.translation import gettext_lazy as _ +from drf_yasg.utils import swagger_auto_schema +from rest_framework.decorators import action +from rest_framework.parsers import MultiPartParser +from rest_framework.request import Request +from rest_framework.views import APIView chat_cache = cache.caches['chat_cache'] @@ -494,7 +492,7 @@ class Application(APIView): class HitTest(APIView): authentication_classes = [TokenAuth] - @action(methods="GET", detail=False) + @action(methods="PUT", detail=False) @swagger_auto_schema(operation_summary=_("Hit Test List"), operation_id=_("Hit Test List"), manual_parameters=CommonApi.HitTestApi.get_request_params_api(), responses=result.get_api_array_response(CommonApi.HitTestApi.get_response_body_api()), @@ -505,15 +503,15 @@ class Application(APIView): [lambda r, keywords: Permission(group=Group.APPLICATION, operate=Operate.USE, dynamic_tag=keywords.get('application_id'))], compare=CompareConstants.AND)) - def get(self, request: Request, application_id: str): - return result.success( - ApplicationSerializer.HitTest(data={'id': application_id, 'user_id': request.user.id, - "query_text": request.query_params.get("query_text"), - "top_number": request.query_params.get("top_number"), - 'similarity': request.query_params.get('similarity'), - 'search_mode': request.query_params.get( - 'search_mode')}).hit_test( - )) + def put(self, request: Request, application_id: str): + return result.success(ApplicationSerializer.HitTest(data={ + 'id': application_id, + 'user_id': request.user.id, + "query_text": request.data.get("query_text"), + "top_number": request.data.get("top_number"), + 'similarity': request.data.get('similarity'), + 'search_mode': request.data.get('search_mode')} + ).hit_test()) class Publish(APIView): authentication_classes = [TokenAuth] diff --git a/apps/dataset/views/dataset.py b/apps/dataset/views/dataset.py index bbb9e0339..ad28bc198 100644 --- a/apps/dataset/views/dataset.py +++ b/apps/dataset/views/dataset.py @@ -7,13 +7,13 @@ @desc: """ +from django.utils.translation import gettext_lazy as _ from drf_yasg.utils import swagger_auto_schema from rest_framework.decorators import action from rest_framework.parsers import MultiPartParser from rest_framework.views import APIView from rest_framework.views import Request -import dataset.models from common.auth import TokenAuth, has_permissions from common.constants.permission_constants import PermissionConstants, CompareConstants, Permission, Group, Operate, \ ViewPermission, RoleConstants @@ -25,7 +25,6 @@ from dataset.serializers.common_serializers import GenerateRelatedSerializer from dataset.serializers.dataset_serializers import DataSetSerializers from dataset.views.common import get_dataset_operation_object from setting.serializers.provider_serializers import ModelSerializer -from django.utils.translation import gettext_lazy as _ class Dataset(APIView): @@ -141,21 +140,22 @@ class Dataset(APIView): class HitTest(APIView): authentication_classes = [TokenAuth] - @action(methods="GET", detail=False) + @action(methods="PUT", detail=False) @swagger_auto_schema(operation_summary=_('Hit test list'), operation_id=_('Hit test list'), manual_parameters=CommonApi.HitTestApi.get_request_params_api(), responses=result.get_api_array_response(CommonApi.HitTestApi.get_response_body_api()), tags=[_('Knowledge Base')]) @has_permissions(lambda r, keywords: Permission(group=Group.DATASET, operate=Operate.USE, dynamic_tag=keywords.get('dataset_id'))) - def get(self, request: Request, dataset_id: str): - return result.success( - DataSetSerializers.HitTest(data={'id': dataset_id, 'user_id': request.user.id, - "query_text": request.query_params.get("query_text"), - "top_number": request.query_params.get("top_number"), - 'similarity': request.query_params.get('similarity'), - 'search_mode': request.query_params.get('search_mode')}).hit_test( - )) + def put(self, request: Request, dataset_id: str): + return result.success(DataSetSerializers.HitTest(data={ + 'id': dataset_id, + 'user_id': request.user.id, + "query_text": request.data.get("query_text"), + "top_number": request.data.get("top_number"), + 'similarity': request.data.get('similarity'), + 'search_mode': request.data.get('search_mode')} + ).hit_test()) class Embedding(APIView): authentication_classes = [TokenAuth] diff --git a/ui/src/api/application.ts b/ui/src/api/application.ts index efd4a4985..bc903c957 100644 --- a/ui/src/api/application.ts +++ b/ui/src/api/application.ts @@ -227,7 +227,7 @@ const getApplicationHitTest: ( data: any, loading?: Ref ) => Promise>> = (application_id, data, loading) => { - return get(`${prefix}/${application_id}/hit_test`, data, loading) + return put(`${prefix}/${application_id}/hit_test`, data, undefined, loading) } /** diff --git a/ui/src/api/dataset.ts b/ui/src/api/dataset.ts index a5a663b03..83de865b3 100644 --- a/ui/src/api/dataset.ts +++ b/ui/src/api/dataset.ts @@ -186,7 +186,7 @@ const getDatasetHitTest: ( data: any, loading?: Ref ) => Promise>> = (dataset_id, data, loading) => { - return get(`${prefix}/${dataset_id}/hit_test`, data, loading) + return put(`${prefix}/${dataset_id}/hit_test`, data, undefined, loading) } /**