日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

java json发送文件_关于java:REST API设计在同一请求中将JSON数据和文件发送到api...

發布時間:2023/11/27 生活经验 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java json发送文件_关于java:REST API设计在同一请求中将JSON数据和文件发送到api... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我正在現有應用程序之上創建一個RESTAPI。其中一個特性接受JSON數據以及用戶上傳的文件。

我不確定如何將同一請求中的文件和JSON數據發送到RESTAPI?

我讓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)。

問題

是否可以向API發送相同請求中的JSON數據和文件?如果是這樣,如何使用curl或rest控制臺(chrome擴展)

這個請求的contentType是什么?

如果這意味著我可以在同一個請求中發送文件和其他數據(字符串),那么我可以使用其他格式發送數據。我沒有綁在JSON上

更新

我發現了另一個同樣的問題。從這個問題的答案來看,似乎只有三個選擇,沒有一個選擇可以在同一個請求中同時發送JSON數據和文件。這是非常令人沮喪的…我將保持這個問題的開放,看看是否有人有其他的想法。

我認為這樣做的"正確"方法是使用多部分消息。這樣,您就可以使用相應的正確mime類型發布JSON和圖像。維基百科關于多部分mime類型的文章提供了一個例子,說明了這一點。看起來ApacheHTTPCommons和Jersey都支持這種方式,顯然curl也支持這種方式!

我很困惑。你的回答令人鼓舞,但我發現了另一個與我的問題相同的問題,似乎只有三種選擇。沒有人說JSON數據和文件可以在同一個請求中發送:stackoverflow.com/questions/4083702/…

我正要建議在您發布的鏈接中選項3的數量-發送元數據,服務器用一個URI響應,將圖像發布到,將圖像發送到該URI。然而,multipart/mixed mime類型允許您在同一條消息中有多個內容類型,由您定義的任何"邊界"分隔。這將使整體內容類型為multipart/mixed,接下來的兩個塊是application/json,然后是image/jpeg。

好的,讓我用兩個塊來嘗試application/json和image/jpeg的multipart/mixed內容類型。等等,第二個街區image/jpeg怎么辦?文件會上傳嗎?只是想知道如何使用REST控制臺chrome插件將此請求作為測試發送:)

總結

以上是生活随笔為你收集整理的java json发送文件_关于java:REST API设计在同一请求中将JSON数据和文件发送到api...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。