增加了openapi

This commit is contained in:
2026-08-31 23:47:33 +08:00
parent 49465848a0
commit e0e57a7eb4
67 changed files with 3909 additions and 73 deletions
+1 -4
View File
@@ -6,7 +6,6 @@
package simcu::simapi.controllers
import soulsoft_web_mvc.annotations.*
import simcu::simapi.communications.*
import simcu::simapi.helpers.*
@@ -22,10 +21,8 @@ public class SimApiAuthController <: SimApiBaseController {
/**
* POST /auth/logout:退出登录(void 自动封装为 SimApiBaseResponse())。
* 对应路由 [HttpPost]
* 由 MapControllerRoute(pattern=LogoutRoute) 注册。
* 动态注册:路由路径由 SimApiRouteOptions.logoutRoute 决定(见 simapi_extensions.cj)。
*/
@HttpPost["/auth/logout"]
public func logout(): Unit {
if (let Some(token) <- request.headers.get("Token")) {
_auth.logout(token)
@@ -13,6 +13,7 @@ import simcu::simapi.communications.*
import simcu::simapi.helpers.*
import simcu::simapi.interfaces.*
/**
* 基础控制器:所有控制器均继承本控制器。
*/
+4 -9
View File
@@ -11,6 +11,7 @@ import soulsoft_web_mvc.annotations.*
import simcu::simapi.communications.*
import simcu::simapi.configurations.*
import simcu::simapi.helpers.*
import simcu::simapi.openapi.annotations.*
/**
* 通用控制器:错误反馈、WebConfig、用户信息。
@@ -28,30 +29,24 @@ public class SimApiCommonController <: SimApiBaseController {
* 抛 SimApiException,由异常中间件统一输出。
*/
@HttpGet["exception/{code}"]
@SimApiDoc[tags:"公共",summary:"异常报错"]
public func exceptionHandler(@FromRoute[] code: Int64): Unit { // cjlint-ignore !G.FUN.02 注解绑定参数误报
SimApiError.error(code: code)
}
/**
* POST/GET /config:给前端的自定义信息(含版本)。
* 对应路由 [HttpPost, HttpGet] 无路径,
* 由 MapControllerRoute(pattern=WebConfigRoute) 注册;soulsoft 约定路由不支持 defaults,故用特性路由直接对齐路径。
* 动态注册:路由路径由 SimApiRouteOptions.webConfigRoute 决定(见 simapi_extensions.cj)。
*/
@HttpGet["/config"]
public func webConfig(): HashMap<String, Any> {
webConfigMap()
}
@HttpPost["/config"]
public func webConfigPost(): HashMap<String, Any> {
webConfigMap()
}
/**
* POST /user/info:获取已登录用户信息(需登录)。
* 返回 SimApiLoginItem 由 SimApiResponseFilter 自动封装(data 为登录信息对象)。
* 动态注册:路由路径由 SimApiRouteOptions.userInfoRoute 决定(见 simapi_extensions.cj)。
*/
@HttpPost["/user/info"]
public func userInfo(): SimApiLoginItem {
requireLogin()
loginInfo