Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
phsl
/
api
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Members
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
efe7d785
authored
Jul 10, 2026
by
renyizhao
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
api应用问题
parent
9ce300cd
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
34 additions
and
27 deletions
+34
-27
computility-module-apihub/computility-module-apihub-api/src/main/java/com/luhu/computility/module/apihub/signature/config/ComputilityApiHubApiSignatureAutoConfiguration.java
+6
-16
computility-module-apihub/computility-module-apihub-api/src/main/java/com/luhu/computility/module/apihub/signature/core/aop/ApiHubApiSignatureAspect.java
+10
-10
computility-module-apihub/computility-module-apihub-api/src/main/java/com/luhu/computility/module/apihub/signature/core/redis/ApiHubApiSignatureRedisDAO.java
+2
-0
computility-module-external/src/main/java/com/luhu/computility/module/external/controller/openapi/OpenApiController.java
+16
-1
No files found.
computility-module-apihub/computility-module-apihub-api/src/main/java/com/luhu/computility/module/apihub/signature/config/ComputilityApiHubApiSignatureAutoConfiguration.java
View file @
efe7d785
package
com
.
luhu
.
computility
.
module
.
apihub
.
signature
.
config
;
package
com
.
luhu
.
computility
.
module
.
apihub
.
signature
.
config
;
import
com.luhu.computility.framework.redis.config.ComputilityRedisAutoConfiguration
;
import
com.luhu.computility.module.apihub.signature.core.aop.ApiHubApiSignatureAspect
;
import
com.luhu.computility.module.apihub.signature.core.redis.ApiHubApiSignatureRedisDAO
;
import
org.springframework.boot.autoconfigure.AutoConfiguration
;
import
org.springframework.boot.autoconfigure.AutoConfiguration
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.data.redis.core.StringRedisTemplate
;
/**
/**
* HTTP API 签名的自动配置类
* HTTP API 签名的自动配置类
* <p>
* 注意:ApiHubApiSignatureAspect 和 ApiHubApiSignatureRedisDAO 已通过 @Component 注解注册,
* 此处不再通过 @Bean 工厂方法创建,避免重复定义冲突。
*
*
* @author Zhougang
* @author Zhougang
*/
*/
@AutoConfiguration
(
after
=
ComputilityRedisAutoConfiguration
.
class
)
@Configuration
@AutoConfiguration
public
class
ComputilityApiHubApiSignatureAutoConfiguration
{
public
class
ComputilityApiHubApiSignatureAutoConfiguration
{
@Bean
public
ApiHubApiSignatureAspect
signatureAspect
(
ApiHubApiSignatureRedisDAO
signatureRedisDAO
)
{
return
new
ApiHubApiSignatureAspect
(
signatureRedisDAO
);
}
@Bean
public
ApiHubApiSignatureRedisDAO
signatureRedisDAO
(
StringRedisTemplate
stringRedisTemplate
)
{
return
new
ApiHubApiSignatureRedisDAO
(
stringRedisTemplate
);
}
}
}
computility-module-apihub/computility-module-apihub-api/src/main/java/com/luhu/computility/module/apihub/signature/core/aop/ApiHubApiSignatureAspect.java
View file @
efe7d785
...
@@ -9,6 +9,7 @@ import cn.hutool.core.util.StrUtil;
...
@@ -9,6 +9,7 @@ import cn.hutool.core.util.StrUtil;
import
cn.hutool.crypto.digest.DigestUtil
;
import
cn.hutool.crypto.digest.DigestUtil
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSON
;
import
com.luhu.computility.framework.common.exception.ServiceException
;
import
com.luhu.computility.framework.common.exception.ServiceException
;
import
com.luhu.computility.framework.common.exception.enums.GlobalErrorCodeConstants
;
import
com.luhu.computility.framework.common.pojo.CommonResult
;
import
com.luhu.computility.framework.common.pojo.CommonResult
;
import
com.luhu.computility.framework.common.util.servlet.ServletUtils
;
import
com.luhu.computility.framework.common.util.servlet.ServletUtils
;
import
com.luhu.computility.module.apihub.api.apicalllog.ApiCallLogApi
;
import
com.luhu.computility.module.apihub.api.apicalllog.ApiCallLogApi
;
...
@@ -26,6 +27,7 @@ import lombok.extern.slf4j.Slf4j;
...
@@ -26,6 +27,7 @@ import lombok.extern.slf4j.Slf4j;
import
org.aspectj.lang.ProceedingJoinPoint
;
import
org.aspectj.lang.ProceedingJoinPoint
;
import
org.aspectj.lang.annotation.Around
;
import
org.aspectj.lang.annotation.Around
;
import
org.aspectj.lang.annotation.Aspect
;
import
org.aspectj.lang.annotation.Aspect
;
import
org.springframework.stereotype.Component
;
import
javax.annotation.Resource
;
import
javax.annotation.Resource
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletRequest
;
...
@@ -39,6 +41,7 @@ import java.util.TreeMap;
...
@@ -39,6 +41,7 @@ import java.util.TreeMap;
import
static
com
.
luhu
.
computility
.
module
.
apihub
.
enums
.
ErrorCodeConstants
.
API_ENDPOINT_EXPIRED
;
import
static
com
.
luhu
.
computility
.
module
.
apihub
.
enums
.
ErrorCodeConstants
.
API_ENDPOINT_EXPIRED
;
import
static
com
.
luhu
.
computility
.
module
.
apihub
.
enums
.
ErrorCodeConstants
.
API_ENDPOINT_NOT_AVAILABLE
;
import
static
com
.
luhu
.
computility
.
module
.
apihub
.
enums
.
ErrorCodeConstants
.
API_ENDPOINT_NOT_AVAILABLE
;
import
static
com
.
luhu
.
computility
.
module
.
apihub
.
enums
.
ErrorCodeConstants
.
API_ENDPOINT_NOT_EXISTS
;
import
static
com
.
luhu
.
computility
.
module
.
apihub
.
enums
.
ErrorCodeConstants
.
API_ENDPOINT_NOT_EXISTS
;
import
static
com
.
luhu
.
computility
.
module
.
apihub
.
enums
.
ErrorCodeConstants
.
HEAD_EXCEPTION
;
import
static
com
.
luhu
.
computility
.
module
.
apihub
.
enums
.
ErrorCodeConstants
.
INVALID_APPID
;
import
static
com
.
luhu
.
computility
.
module
.
apihub
.
enums
.
ErrorCodeConstants
.
INVALID_APPID
;
import
static
com
.
luhu
.
computility
.
module
.
apihub
.
enums
.
ErrorCodeConstants
.
TIMESTAMP_EXCEPTION
;
import
static
com
.
luhu
.
computility
.
module
.
apihub
.
enums
.
ErrorCodeConstants
.
TIMESTAMP_EXCEPTION
;
...
@@ -49,6 +52,7 @@ import static com.luhu.computility.module.apihub.enums.ErrorCodeConstants.TIMEST
...
@@ -49,6 +52,7 @@ import static com.luhu.computility.module.apihub.enums.ErrorCodeConstants.TIMEST
*/
*/
@Aspect
@Aspect
@Slf4j
@Slf4j
@Component
@AllArgsConstructor
@AllArgsConstructor
public
class
ApiHubApiSignatureAspect
{
public
class
ApiHubApiSignatureAspect
{
...
@@ -66,19 +70,15 @@ public class ApiHubApiSignatureAspect {
...
@@ -66,19 +70,15 @@ public class ApiHubApiSignatureAspect {
@Resource
@Resource
private
UserApiUsageApi
userApiUsageApi
;
private
UserApiUsageApi
userApiUsageApi
;
public
ApiHubApiSignatureAspect
(
ApiHubApiSignatureRedisDAO
signatureRedisDAO
)
{
this
.
signatureRedisDAO
=
signatureRedisDAO
;
}
@Around
(
"@annotation(signature)"
)
@Around
(
"@annotation(signature)"
)
public
Object
aroundPointCut
(
ProceedingJoinPoint
joinPoint
,
ApiHubApiSignature
signature
)
throws
Throwable
{
public
Object
aroundPointCut
(
ProceedingJoinPoint
joinPoint
,
ApiHubApiSignature
signature
)
throws
Throwable
{
HttpServletRequest
request
=
Objects
.
requireNonNull
(
ServletUtils
.
getRequest
());
HttpServletRequest
request
=
Objects
.
requireNonNull
(
ServletUtils
.
getRequest
());
// 1.校验 Header
// 1.校验 Header
/*
if (!verifyHeaders(signature, request)) {
if
(!
verifyHeaders
(
signature
,
request
))
{
throw
new
ServiceException
(
HEAD_EXCEPTION
);
throw
new
ServiceException
(
HEAD_EXCEPTION
);
}
*/
}
//查询appId对应的Secret
//查询appId对应的Secret
String
appId
=
request
.
getHeader
(
signature
.
appId
());
String
appId
=
request
.
getHeader
(
signature
.
appId
());
...
@@ -89,11 +89,11 @@ public class ApiHubApiSignatureAspect {
...
@@ -89,11 +89,11 @@ public class ApiHubApiSignatureAspect {
throw
new
ServiceException
(
INVALID_APPID
);
throw
new
ServiceException
(
INVALID_APPID
);
}
}
// 2. 签名校验
// 2. 签名校验
/*if (!verifySignature(signature, request, appCredentialD
O)) {
if
(!
verifySignature
(
signature
,
request
,
appCredentialRespDT
O
))
{
log
.
error
(
"[aroundPointCut][方法 {} 参数({}) 签名失败]"
,
joinPoint
.
getSignature
(),
joinPoint
.
getArgs
());
log
.
error
(
"[aroundPointCut][方法 {} 参数({}) 签名失败]"
,
joinPoint
.
getSignature
(),
joinPoint
.
getArgs
());
throw new ServiceException(BAD_REQUEST.getCode(),
throw
new
ServiceException
(
GlobalErrorCodeConstants
.
BAD_REQUEST
.
getCode
(),
StrUtil.blankToDefault(signature.message(), BAD_REQUEST.getMsg()));
StrUtil
.
blankToDefault
(
signature
.
message
(),
GlobalErrorCodeConstants
.
BAD_REQUEST
.
getMsg
()));
}
*/
}
// 2. 应用-接口绑定校验
// 2. 应用-接口绑定校验
String
path
=
request
.
getRequestURI
();
String
path
=
request
.
getRequestURI
();
String
method
=
request
.
getMethod
();
String
method
=
request
.
getMethod
();
...
...
computility-module-apihub/computility-module-apihub-api/src/main/java/com/luhu/computility/module/apihub/signature/core/redis/ApiHubApiSignatureRedisDAO.java
View file @
efe7d785
...
@@ -2,6 +2,7 @@ package com.luhu.computility.module.apihub.signature.core.redis;
...
@@ -2,6 +2,7 @@ package com.luhu.computility.module.apihub.signature.core.redis;
import
lombok.AllArgsConstructor
;
import
lombok.AllArgsConstructor
;
import
org.springframework.data.redis.core.StringRedisTemplate
;
import
org.springframework.data.redis.core.StringRedisTemplate
;
import
org.springframework.stereotype.Component
;
import
java.util.concurrent.TimeUnit
;
import
java.util.concurrent.TimeUnit
;
...
@@ -11,6 +12,7 @@ import java.util.concurrent.TimeUnit;
...
@@ -11,6 +12,7 @@ import java.util.concurrent.TimeUnit;
* @author Zhougang
* @author Zhougang
*/
*/
@AllArgsConstructor
@AllArgsConstructor
@Component
public
class
ApiHubApiSignatureRedisDAO
{
public
class
ApiHubApiSignatureRedisDAO
{
private
final
StringRedisTemplate
stringRedisTemplate
;
private
final
StringRedisTemplate
stringRedisTemplate
;
...
...
computility-module-external/src/main/java/com/luhu/computility/module/external/controller/openapi/OpenApiController.java
View file @
efe7d785
...
@@ -3,6 +3,7 @@ package com.luhu.computility.module.external.controller.openapi;
...
@@ -3,6 +3,7 @@ package com.luhu.computility.module.external.controller.openapi;
import
com.luhu.computility.framework.apilog.core.annotation.ApiAccessLog
;
import
com.luhu.computility.framework.apilog.core.annotation.ApiAccessLog
;
import
com.luhu.computility.framework.common.pojo.CommonResult
;
import
com.luhu.computility.framework.common.pojo.CommonResult
;
import
com.luhu.computility.framework.signature.core.annotation.ApiSignature
;
import
com.luhu.computility.framework.signature.core.annotation.ApiSignature
;
import
com.luhu.computility.module.apihub.signature.core.annotation.ApiHubApiSignature
;
import
com.luhu.computility.module.external.controller.openapi.dto.*
;
import
com.luhu.computility.module.external.controller.openapi.dto.*
;
import
com.luhu.computility.module.external.controller.openapi.service.OpenApiService
;
import
com.luhu.computility.module.external.controller.openapi.service.OpenApiService
;
import
io.swagger.v3.oas.annotations.Operation
;
import
io.swagger.v3.oas.annotations.Operation
;
...
@@ -41,6 +42,7 @@ public class OpenApiController {
...
@@ -41,6 +42,7 @@ public class OpenApiController {
private
OpenApiService
openApiService
;
private
OpenApiService
openApiService
;
@ApiAccessLog
@ApiAccessLog
@ApiHubApiSignature
@PostMapping
(
value
=
"/digital-human-conversation"
)
@PostMapping
(
value
=
"/digital-human-conversation"
)
@Operation
(
summary
=
"数字人对话"
,
description
=
"和数字人朱熹进行一问一答的对话"
)
@Operation
(
summary
=
"数字人对话"
,
description
=
"和数字人朱熹进行一问一答的对话"
)
public
CommonResult
<
ConversationRespDTO
>
digitalHumanConversation
(
@RequestBody
ConversationReqDTO
conversationReqDTO
){
public
CommonResult
<
ConversationRespDTO
>
digitalHumanConversation
(
@RequestBody
ConversationReqDTO
conversationReqDTO
){
...
@@ -49,6 +51,7 @@ public class OpenApiController {
...
@@ -49,6 +51,7 @@ public class OpenApiController {
@ApiAccessLog
@ApiAccessLog
@ApiHubApiSignature
@PostMapping
(
value
=
"/upload-face-image"
,
consumes
=
MediaType
.
MULTIPART_FORM_DATA_VALUE
)
@PostMapping
(
value
=
"/upload-face-image"
,
consumes
=
MediaType
.
MULTIPART_FORM_DATA_VALUE
)
@Parameters
({
@Parameters
({
@Parameter
(
name
=
"image"
,
description
=
"图片文件"
),
@Parameter
(
name
=
"image"
,
description
=
"图片文件"
),
...
@@ -62,6 +65,7 @@ public class OpenApiController {
...
@@ -62,6 +65,7 @@ public class OpenApiController {
@ApiAccessLog
@ApiAccessLog
@ApiHubApiSignature
@GetMapping
(
"/create-video-stream"
)
@GetMapping
(
"/create-video-stream"
)
@Operation
(
summary
=
"ai换脸-生成换脸工作流"
,
description
=
"只有先上传图片才能开始换脸工作流,用户根据promptId取最后生成的视频"
)
@Operation
(
summary
=
"ai换脸-生成换脸工作流"
,
description
=
"只有先上传图片才能开始换脸工作流,用户根据promptId取最后生成的视频"
)
public
CommonResult
<
CeateVideoStreamRespDTO
>
ceateVideoStream
(
@RequestBody
CeateVideoStreamReqDTO
ceateVideoStreamReqDTO
){
public
CommonResult
<
CeateVideoStreamRespDTO
>
ceateVideoStream
(
@RequestBody
CeateVideoStreamReqDTO
ceateVideoStreamReqDTO
){
...
@@ -70,6 +74,7 @@ public class OpenApiController {
...
@@ -70,6 +74,7 @@ public class OpenApiController {
@ApiAccessLog
@ApiAccessLog
@ApiHubApiSignature
@PostMapping
(
value
=
"/generate-face-swap-image"
,
consumes
=
MediaType
.
MULTIPART_FORM_DATA_VALUE
)
@PostMapping
(
value
=
"/generate-face-swap-image"
,
consumes
=
MediaType
.
MULTIPART_FORM_DATA_VALUE
)
@Operation
(
summary
=
"ai换脸-图片换脸:上传图+图片生成"
,
description
=
"ai换脸-图片换脸:上传图片+图片生成"
)
@Operation
(
summary
=
"ai换脸-图片换脸:上传图+图片生成"
,
description
=
"ai换脸-图片换脸:上传图片+图片生成"
)
public
CommonResult
<
GenerateFaceSwapRespDTO
>
faceImageGenerate
(
@RequestPart
(
value
=
"sourceImage"
,
required
=
false
)
MultipartFile
sourceImage
,
public
CommonResult
<
GenerateFaceSwapRespDTO
>
faceImageGenerate
(
@RequestPart
(
value
=
"sourceImage"
,
required
=
false
)
MultipartFile
sourceImage
,
...
@@ -81,6 +86,7 @@ public class OpenApiController {
...
@@ -81,6 +86,7 @@ public class OpenApiController {
}
}
@ApiAccessLog
@ApiAccessLog
@ApiHubApiSignature
@PostMapping
(
value
=
"/image-convert"
,
consumes
=
MediaType
.
MULTIPART_FORM_DATA_VALUE
)
@PostMapping
(
value
=
"/image-convert"
,
consumes
=
MediaType
.
MULTIPART_FORM_DATA_VALUE
)
@Parameters
({
@Parameters
({
@Parameter
(
name
=
"image"
,
description
=
"图片文件"
),
@Parameter
(
name
=
"image"
,
description
=
"图片文件"
),
...
@@ -95,6 +101,7 @@ public class OpenApiController {
...
@@ -95,6 +101,7 @@ public class OpenApiController {
}
}
@ApiAccessLog
@ApiAccessLog
@ApiHubApiSignature
@PostMapping
(
"/view-image"
)
@PostMapping
(
"/view-image"
)
@Operation
(
summary
=
"根据promptId取换脸后的图"
,
description
=
"根据promptId取换脸后的图"
)
@Operation
(
summary
=
"根据promptId取换脸后的图"
,
description
=
"根据promptId取换脸后的图"
)
public
CommonResult
<
ViewSourceRespDTO
>
viewImage
(
@RequestBody
ViewImageReqDTO
viewImageReqDTO
){
public
CommonResult
<
ViewSourceRespDTO
>
viewImage
(
@RequestBody
ViewImageReqDTO
viewImageReqDTO
){
...
@@ -102,6 +109,7 @@ public class OpenApiController {
...
@@ -102,6 +109,7 @@ public class OpenApiController {
}
}
@ApiAccessLog
@ApiAccessLog
@ApiHubApiSignature
@GetMapping
(
"/view-convert"
)
@GetMapping
(
"/view-convert"
)
@Operation
(
summary
=
"根据promptId取转换后的图"
,
description
=
"根据promptId取图片转换后的图"
)
@Operation
(
summary
=
"根据promptId取转换后的图"
,
description
=
"根据promptId取图片转换后的图"
)
public
CommonResult
<
ViewSourceRespDTO
>
viewConvert
(
@RequestParam
String
promptId
){
public
CommonResult
<
ViewSourceRespDTO
>
viewConvert
(
@RequestParam
String
promptId
){
...
@@ -110,6 +118,7 @@ public class OpenApiController {
...
@@ -110,6 +118,7 @@ public class OpenApiController {
@ApiAccessLog
@ApiAccessLog
@ApiHubApiSignature
@PostMapping
(
value
=
"/generate-face-swap-video"
,
consumes
=
MediaType
.
MULTIPART_FORM_DATA_VALUE
)
@PostMapping
(
value
=
"/generate-face-swap-video"
,
consumes
=
MediaType
.
MULTIPART_FORM_DATA_VALUE
)
@Parameters
({
@Parameters
({
@Parameter
(
name
=
"image"
,
description
=
"图片文件"
),
@Parameter
(
name
=
"image"
,
description
=
"图片文件"
),
...
@@ -117,7 +126,6 @@ public class OpenApiController {
...
@@ -117,7 +126,6 @@ public class OpenApiController {
@Parameter
(
name
=
"workflowCode"
,
description
=
"工作流编码,不传则默认运行乔峰工作流"
)
@Parameter
(
name
=
"workflowCode"
,
description
=
"工作流编码,不传则默认运行乔峰工作流"
)
})
})
@Operation
(
summary
=
"ai换脸-视频换脸;ai换脸-上传图片+视频流生成"
,
description
=
"ai换脸-上传图片+视频流生成"
)
@Operation
(
summary
=
"ai换脸-视频换脸;ai换脸-上传图片+视频流生成"
,
description
=
"ai换脸-上传图片+视频流生成"
)
@ApiSignature
public
CommonResult
<
GenerateFaceSwapRespDTO
>
faceVideoGenerate
(
@RequestPart
(
value
=
"image"
,
required
=
false
)
MultipartFile
image
,
public
CommonResult
<
GenerateFaceSwapRespDTO
>
faceVideoGenerate
(
@RequestPart
(
value
=
"image"
,
required
=
false
)
MultipartFile
image
,
@RequestParam
(
value
=
"url"
,
required
=
false
)
String
url
,
@RequestParam
(
value
=
"url"
,
required
=
false
)
String
url
,
@RequestParam
(
value
=
"workflowCode"
,
required
=
false
)
String
workflowCode
)
{
@RequestParam
(
value
=
"workflowCode"
,
required
=
false
)
String
workflowCode
)
{
...
@@ -126,6 +134,7 @@ public class OpenApiController {
...
@@ -126,6 +134,7 @@ public class OpenApiController {
@ApiAccessLog
@ApiAccessLog
@ApiHubApiSignature
@PostMapping
(
"/view-video"
)
@PostMapping
(
"/view-video"
)
@Operation
(
summary
=
"根据promptId取最后生成的视频"
,
description
=
"根据promptId取最后生成的视频"
)
@Operation
(
summary
=
"根据promptId取最后生成的视频"
,
description
=
"根据promptId取最后生成的视频"
)
public
CommonResult
<
ViewSourceRespDTO
>
viewVideo
(
@RequestBody
ViewVideoReqDTO
viewVideoReqDTO
){
public
CommonResult
<
ViewSourceRespDTO
>
viewVideo
(
@RequestBody
ViewVideoReqDTO
viewVideoReqDTO
){
...
@@ -133,6 +142,7 @@ public class OpenApiController {
...
@@ -133,6 +142,7 @@ public class OpenApiController {
}
}
@ApiAccessLog
@ApiAccessLog
@ApiHubApiSignature
@PostMapping
(
value
=
"/match-image"
)
@PostMapping
(
value
=
"/match-image"
)
@Parameters
({
@Parameters
({
@Parameter
(
name
=
"image"
,
description
=
"图片文件"
),
@Parameter
(
name
=
"image"
,
description
=
"图片文件"
),
...
@@ -153,6 +163,7 @@ public class OpenApiController {
...
@@ -153,6 +163,7 @@ public class OpenApiController {
@ApiAccessLog
@ApiAccessLog
@ApiHubApiSignature
@PostMapping
(
"/AIQA-chat"
)
@PostMapping
(
"/AIQA-chat"
)
@Operation
(
summary
=
"AI问答"
,
description
=
"AI助手,关于行程和景区的疑问"
)
@Operation
(
summary
=
"AI问答"
,
description
=
"AI助手,关于行程和景区的疑问"
)
//@ApiSignature
//@ApiSignature
...
@@ -164,6 +175,7 @@ public class OpenApiController {
...
@@ -164,6 +175,7 @@ public class OpenApiController {
@ApiAccessLog
@ApiAccessLog
@ApiHubApiSignature
@PostMapping
(
value
=
"/AIQA-stream-chat"
,
produces
=
MediaType
.
TEXT_EVENT_STREAM_VALUE
)
@PostMapping
(
value
=
"/AIQA-stream-chat"
,
produces
=
MediaType
.
TEXT_EVENT_STREAM_VALUE
)
@Operation
(
summary
=
"AI问答流式返回"
,
description
=
"流式返回AI助手,关于行程和景区的疑问"
)
@Operation
(
summary
=
"AI问答流式返回"
,
description
=
"流式返回AI助手,关于行程和景区的疑问"
)
public
SseEmitter
AIQAStreamChat
(
@RequestBody
AIQAReqDTO
aiqaReqDTO
)
{
public
SseEmitter
AIQAStreamChat
(
@RequestBody
AIQAReqDTO
aiqaReqDTO
)
{
...
@@ -172,6 +184,7 @@ public class OpenApiController {
...
@@ -172,6 +184,7 @@ public class OpenApiController {
@ApiAccessLog
@ApiAccessLog
@ApiHubApiSignature
@PostMapping
(
value
=
"/aliyun-stream-chat"
,
produces
=
MediaType
.
TEXT_EVENT_STREAM_VALUE
)
@PostMapping
(
value
=
"/aliyun-stream-chat"
,
produces
=
MediaType
.
TEXT_EVENT_STREAM_VALUE
)
@Operation
(
summary
=
"AI问答流式返回"
,
description
=
"流式返回AI助手,关于行程和景区的疑问"
)
@Operation
(
summary
=
"AI问答流式返回"
,
description
=
"流式返回AI助手,关于行程和景区的疑问"
)
public
SseEmitter
aliyunStreamChat
(
@RequestBody
AIQAReqDTO
aiqaReqDTO
)
{
public
SseEmitter
aliyunStreamChat
(
@RequestBody
AIQAReqDTO
aiqaReqDTO
)
{
...
@@ -179,6 +192,7 @@ public class OpenApiController {
...
@@ -179,6 +192,7 @@ public class OpenApiController {
}
}
@ApiAccessLog
@ApiAccessLog
@ApiHubApiSignature
@PostMapping
(
value
=
"/glm-stream-chat"
,
produces
=
MediaType
.
TEXT_EVENT_STREAM_VALUE
)
@PostMapping
(
value
=
"/glm-stream-chat"
,
produces
=
MediaType
.
TEXT_EVENT_STREAM_VALUE
)
@Operation
(
summary
=
"智谱GLM流式-自定义messages"
,
description
=
"调用方自定义messages数组"
)
@Operation
(
summary
=
"智谱GLM流式-自定义messages"
,
description
=
"调用方自定义messages数组"
)
public
SseEmitter
glmStreamChat
(
@RequestBody
ZhipuChatReqDTO
zhipuChatReqDTO
)
{
public
SseEmitter
glmStreamChat
(
@RequestBody
ZhipuChatReqDTO
zhipuChatReqDTO
)
{
...
@@ -186,6 +200,7 @@ public class OpenApiController {
...
@@ -186,6 +200,7 @@ public class OpenApiController {
}
}
@ApiAccessLog
@ApiAccessLog
@ApiHubApiSignature
@PostMapping
(
value
=
"/glm-multi-stream-chat"
,
produces
=
MediaType
.
TEXT_EVENT_STREAM_VALUE
)
@PostMapping
(
value
=
"/glm-multi-stream-chat"
,
produces
=
MediaType
.
TEXT_EVENT_STREAM_VALUE
)
@Operation
(
summary
=
"智谱GLM多轮流式"
,
description
=
"多轮对话,带历史记录存储"
)
@Operation
(
summary
=
"智谱GLM多轮流式"
,
description
=
"多轮对话,带历史记录存储"
)
public
SseEmitter
glmMultiStreamChat
(
@RequestBody
ZhipuConversationReqDTO
zhipuConversationReqDTO
)
{
public
SseEmitter
glmMultiStreamChat
(
@RequestBody
ZhipuConversationReqDTO
zhipuConversationReqDTO
)
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment