compojure-api/schema/swagger中的非必需参数?

pup*_*eno 6 clojure swagger plumatic-schema compojure-api

当我有这样的API定义时:

(POST* "/register" []
    :body-params [username :- String,
                  password :- String,
                  name :- String]
    (ok)))
Run Code Online (Sandbox Code Playgroud)

什么是使名称可选的合适方式?是吗:

(POST* "/register" []
    :body-params [username :- String,
                  password :- String,
                  {name :- String nil}]
    (ok)))
Run Code Online (Sandbox Code Playgroud)

Jai*_*udo 8

如你所知它使用letk管道符号并且据我记得语法是正确的但是默认值应该与预期的类型一致所以我会说它应该""而不是nilas (string? nil)=>false

(POST* "/register" []
    :body-params [username :- String,
                  password :- String,
                  {name :- String ""}]
    (ok)))
Run Code Online (Sandbox Code Playgroud)

  • 这记录在哪里?在使用Compojure几个月后,我现在才发现这一点. (4认同)