Clojure compojure api中body和body参数之间的区别是什么?

Clojure compojure api中body和body参数之间的区别是什么?,clojure,swagger,plumatic-schema,compojure-api,Clojure,Swagger,Plumatic Schema,Compojure Api,在compojure api中,我注意到指定资源api的两种方法: (POST* "/register" [] :body [user UserRegistration] (ok))) 及 这两者有什么区别?使用一个参数与使用另一个参数的含义是什么?唯一的区别在于参数的指定方式(以及此后的解构方式): : 将正文参数读入增强的let。第一个参数是let 符号,第二个是对强制的模式反对 例如: :正文[用户] : 使用管道letk符号重新构造车身参数 示例::正文参数[id:-长

在compojure api中,我注意到指定资源api的两种方法:

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


这两者有什么区别?使用一个参数与使用另一个参数的含义是什么?

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

:

将正文参数读入增强的
let
。第一个参数是
let
符号,第二个是对
强制的模式反对

例如:
:正文[用户]

:

使用管道
letk
符号重新构造车身参数

示例:
:正文参数[id:-长名称:-字符串]

根据具体情况,您可能会选择其中一种。在这两种情况下,参数(
user
在第一种情况下,
id
在第二种情况下,
name
在主体范围内)

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