在实践中使用:body-params和:form-params在使用compojure创建API时有什么区别?例如:
(POST* "/register" []
:body-params [username :- String,
password :- String]
(ok)))vs
(POST* "/register" []
:form-params [username :- String,
password :- String]
(ok)))哪一种API应该被一个单一页面的应用程序和/或本地移动应用程序所使用?
发布于 2015-08-01 22:58:51
它与支持的内容类型有关:
form-params用于内容类型"application/x-www-form-urlencoded“(表单)。body-params用于参数,这些参数也将与其他内容类型(edn、json、transit等)一起定位在主体中。你会想要使用:body-params从你的文字记录或移动应用程序中消费它。
使用form-params或body-params将影响参数的验证方式、从哪一部分请求中获取参数,以及如果使用swagger扩展将如何生成swagger.json文件。
如果不将它们映射到swagger中的概念,则很难理解compojure中的许多东西。查看代码我们可以在swagger参数规范中找到像“消费”或"formData“这样的傲慢的术语。
https://stackoverflow.com/questions/31766908
复制相似问题