应用程序对模式使用 kabab-case 键格式,如下所示
(s/defschema User
{:first-name s/Str
:last-name s/Str})
但是对于招摇的文档,我想要camelCase中的模式,如下所示
(s/defschema User
{:firstName s/Str
:lastName s/Str})
有没有办法为 swagger 实现中间件,以便我可以将模式从 kabab-case 转换为 camelCase?请建议我怎样才能做到这一点。
我当前的代码如下所示,用于为 api 生成动态 swagger 文档
(api {:format {:formats [:transit-json :json]
:params-opts {:transit-json {:handlers transit/transit-read-handlers}}
:response-opts {:transit-json {:handlers transit/transit-write-handlers}}}
:coercion coercions/default-coercions
:swagger {:ui "/swagger"
:spec "/swagger.json"
:data {:info {:title "API Docs"}
:securityDefinitions
{:api_key
{:type "apiKey"
:name "Authorization"
:in "header"}}
:tags [{:name "User" :description "/api/v1/user"}]
:consumes ["application/json"]
:produces ["application/json"]}
}
:api {:invalid-routes-fn (constantly nil)}}
(create-api-routes web-server-config :middleware default-middleware))
我正在使用 compojure-api 提供的 swagger 进行路由。
我们可以使用reitit实现我的要求,还有一个示例项目rest-api 使用 reitit如何实现这一点。但是我想使用 compojure-api 实现类似的事情,因为我现在不想升级到新的路由库。