compojure-api中主体和主体参数的区别是什么?



在compojore - API中,我注意到有两种指定资源API的方法:

(POST* "/register" []
    :body [user UserRegistration]
    (ok)))

(POST* "/register" []
    :body-params [username :- String,
                  password :- String]
    (ok)))

这两者的区别是什么?使用其中一个和另一个的含义是什么?

唯一的区别在于参数的指定方式(以及之后的解构方式):

body:

将body-params读入增强的let。第一个参数是let符号,第二个是对coerced!的Schema。

的例子::body [user User]

body-params:

用管道letk符号重新构造body-params。

示例::body-params [id :- Long name :- String]

根据具体情况,您可能更喜欢其中一种。在这两种情况下,参数(第一种情况是user,第二种情况是idname)将在body的作用域内。

最新更新