我有一个 api,可以通过这样的 URI 访问:
POST: http://<domain>/app/rest/colors
这个发布请求将发送一些字符串参数(即name: "red"
)和一个文件。理想情况下,我希望以 JSON 格式提供给 API 的数据,但如果没有办法将文件传递给 JSON,那么我也可以使用其他格式。
目前,当我从表单帖子中获取参数时,我的控制器操作看起来像这样:
def save() {
def colorInstance = new Color(params)
CommonsMultipartFile file = request.getFile('filename')
fileUploadService.upload(file)
if (colorInstance.save(flush: true)) {
flash.message = "Created"
redirect(action: "list")
}
else {
render(view: "create", model: [colorInstance: colorInstance])
}
}
问题
- 如何将文件传递给 REST API?它仍然可以是 JSON 吗?
- 如何在我的
save
操作中访问该文件 - 我如何测试动作
curl
例如通常我做
curl -XPOST http://<domain>/app/rest/colors -d '{
"name": "red",
"shade": "light"
}'
但现在我想连同这两个参数一起发送一个文件