REST API Design将JSON数据和文件发送到同一请求中的api

我正在现有的应用程序之上创建一个REST API。 其中一项功能需要将json数据与用户上传的文件一起使用。

我不确定如何将相同请求中的文件和json数据发送到REST API?

我有JSON部分工作,我测试使用curl:

curl -XPOST http://localhost:8080/myapp/foo -d '{"mydata": {
    "name": "somename",
    "gender": "male"
}}'
//I would like to send an image (say, profile image) with the above request as well.

我使用的是Grails应用程序,所以我在控制器中获取这些数据,如下所示: new Foo(params.mydata)

  • 是否有可能将JSON数据和文件发送到API的相同请求中? 如果是这样,我怎样才能使用卷曲或REST控制台(铬扩展)
  • 这个请求的contentType是什么?
  • 如果这意味着我可以在同一请求中发送文件和其他数据(字符串),我愿意以另一种格式发送数据。 我并不依赖于JSON
  • 更新

    我发现另一个问题是同样的问题。 从这个问题的答案看来,似乎只有三个选择,没有一个表示可以在同一个请求中发送json数据和文件。 这是非常令人沮丧的......我会继续讨论这个问题,看看是否有人有其他想法。


    我认为做到这一点的“正确”方式是用多部分信息。 这样,您可以使用相应的正确MIME类型发布JSON和图像。 关于多部分MIME类型的维基百科文章有这样一个例子。 它看起来像Apache httpcommons和泽西都支持这种事情,显然卷曲也是!

    链接地址: http://www.djcxy.com/p/48643.html

    上一篇: REST API Design sending JSON data and a file to the api in same request

    下一篇: RESTful Web Service Upload/Download Large Data With JSON