一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務器之家 - 編程語言 - JAVA教程 - Restful傳遞數組參數及注解大全

Restful傳遞數組參數及注解大全

2020-03-10 11:34mrr JAVA教程

這篇文章主要介紹了Restful傳遞數組參數及注解大全的相關資料,需要的朋友可以參考下

RESTful 一種軟件架構風格,設計風格而不是標準,只是提供了一組設計原則和約束條件。它主要用于客戶端和服務器交互類的軟件。基于這個風格設計的軟件可以更簡潔,更有層次,更易于實現緩存等機制。

需要傳遞數組參數的情況,如果是一般的form表單,可以直接定義參數類型為List<String>即可(不能定義為數組類型,否則只能得到一個null)。

示例代碼如下:

?
1
2
3
4
@POST
@Path("/user" )
public Response createUser(@FormParam("username" ) String username,
      @FormParam( "keyword") List<String> keywords) {

文件上傳接口如何傳遞 數據 參數?

但是如果是上傳文件的接口,因為使用了 @FormDataParam 注解,則不能使用上述用法:

?
1
2
3
4
5
6
7
@POST
@Path("/upload" )
@Consumes(MediaType.MULTIPART_FORM_DATA )
public Response uploadFile(@FormDataParam ("filename" ) String filename,
      @FormDataParam( "file") InputStream uploadedInputStream,
      @FormDataParam( "file") FormDataContentDisposition fileDetail ,
      @FormDataParam( "keyword") final List<String> keywords) {

訪問這個接口時會發生異常:

java.lang.IllegalArgumentException   : wrong number of arguments

可見使用 @FormDataParam 注解時,將參數類型定義成List<String>是不行的,可以定義成 List<FormDataBodyPart> ,從 FormDataBodyPart對象中可以取得參數:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
@POST
@Path("/upload" )
@Consumes(MediaType.MULTIPART_FORM_DATA )
public Response uploadFile(@FormDataParam("filename" ) String filename,
 @FormDataParam( "file") InputStream uploadedInputStream,
 @FormDataParam( "file") FormDataContentDisposition fileDetail ,
 @FormDataParam( "keyword") final List<FormDataBodyPart> keywordObjs ) {
   if (keywordObjs != null && ! keywordObjs.isEmpty()) {
 for (FormDataBodyPart keywordObj : keywordObjs) {
   String keyword = keywordObj.getValueAs(String.class);
   System. out.println( "關鍵字:" + keyword );
     }
   }

RESTful 注解大全

@GET、@POST、@PUT、@DELETE、@HEAD

   @GET、@POST、@PUT、@DELETE 以及 @HEAD 均是 HTTP 請求方法指示符注釋。您可以使用它們來綁定根資源或子資源內的 Java 方法與 HTTP 請求方法。HTTP GET 請求被映射到由 @GET 注釋的方法;HTTP POST 請求被映射到由 @POST 注釋的方法,以此類推。

@Conumes 和 @Produces

@Conumes注釋代表的是一個資源可以接受的MIME類型。@Produces注釋代表的是一個資源可以返回的MIME類型。

@Path

 @Path注釋被用來描述根資源、子資源方法或子資源位置。value值可以包含文本字符、變量或具有定制正則表達式的變量。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 欧美亚洲一区二区三区 | 亚洲精品视频一区 | 亚洲免费在线看 | 日本暖暖在线 | 高清不卡日本v在线二区 | 91精品国产91久久久久久 | 免费在线影院 | 99热免费在线观看 | 精品无码国产AV一区二区三区 | 男人肌肌捅女人 | 天堂va在线高清一区 | 洗濯屋し在线观看 | 草草视频在线免费观看 | 久草色视频 | 欧美一区二区三区免费高 | 欧美靠逼视频 | 久久亚洲高清观看 | 国产精品每日在线观看男人的天堂 | 久久久久青草大香线综合精品 | 性绞姿始动作动态图 | 花核调教 | 亚洲欧美精品一区二区 | 娇妻被朋友征服中文字幕 | 公翁的舌尖研磨她的花蒂小说 | 偷偷狠狠的日日高清完整视频 | 国产成人影院在线观看 | 天天gan| 亚洲天堂视频在线观看免费 | 色cccwww在线播放 | 亚洲国产综合网 | 动漫人物差差差动漫人物免费观看 | 好大好猛好爽好深视频免费 | 性肥胖BWBWBW| av72成人| 精品国产一区二区三区在线观看 | 9966国产精品视频 | 校花被拖到野外伦小说 | 日本中文字幕黑人借宿影片 | 高清一级片 | 男人肌肌捅女人肌肌 | 99热99在线 |