pup*_*eno 7 clojure swagger plumatic-schema compojure-api
使用compojure-api创建API时,使用body-params和:form-params有什么区别?例如:
(POST* "/register" []
:body-params [username :- String,
password :- String]
(ok)))
Run Code Online (Sandbox Code Playgroud)
VS
(POST* "/register" []
:form-params [username :- String,
password :- String]
(ok)))
Run Code Online (Sandbox Code Playgroud)
哪一个应该用于单页clojurescript应用程序和/或本机移动应用程序将使用的API?
它与支持的内容类型有关:
form-params 旨在与内容类型"application/x-www-form-urlencoded"(表格)一起使用body-params 用于参数,这些参数也将与其他内容类型(edn,json,transit等)一起位于正文中.您将要使用:body-params它从clojurescript或移动应用程序中使用它.
使用form-params或body-params将影响参数的验证方式,从中获取请求的哪一部分,以及如果使用swagger扩展,将如何生成swagger.json文件.
compojure-api中的许多内容如果不将它们映射到招摇的概念中就很难理解.查看代码,我们可以找到swagger参数规范中的 "消耗"或"formData"等文字.