激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

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

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值可以包含文本字符、變量或具有定制正則表達式的變量。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 免费在线观看亚洲 | 亚洲精中文字幕二区三区 | 丰满年轻岳中文字幕一区二区 | 久久久久久久一区二区三区 | 久久久久久久一区二区三区 | 97超视频在线观看 | 一级大片一级一大片 | 国产欧美亚洲精品 | 欧美综合在线观看 | 久久国产精品一区 | 毛片区 | 久久久久在线 | 亚洲成人在线视频网 | 国产乱淫av一区二区三区 | 长泽雅美av | 91精品久久久久久 | 1024亚洲天堂 | 精品国产乱码一区二区三区四区 | 性欧美视频在线观看 | 国产在线精品一区二区三区不卡 | 国产精品久久久久久久久久10秀 | 91久久久久 | 在线视频观看一区二区 | 看片一区二区三区 | 国产一级毛片不卡 | 日韩中文字幕三区 | 4p一女两男做爰在线观看 | 欧美三级美国一级 | 激情网站视频 | 日本精品视频一区二区三区四区 | 91精品国产成人 | 中文日韩在线视频 | 国产亚洲激情 | av手机在线电影 | 国产91成人 | 日韩毛片一区二区三区 | 欧美激情第一区 | 国产1区2区3区在线观看 | 国产三级精品最新在线 | 亚洲一区二区三区在线免费观看 | 日韩精品一区二区免费视频 |