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

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

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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲2卡三卡4卡5卡精品 | 国产精品久久久久久久久99热 | aaa免费看| 欧洲老妇人70 | 91精品国产亚一区二区三区 | 高清视频在线播放 | 四虎在线网站 | 欧美亚洲一区二区三区在线 | 爱操综合 | 欧美成人一区二区 | 成人亚洲欧美日韩在线观看 | 国产视频二 | 国产日韩欧美在线一二三四 | 亚洲免费大全 | 草馏社区最新1024 | 欧美日韩中文国产一区 | 亚洲欧美另类第一页 | 亚洲国产cao | 免费高清www动漫视频播放器 | 欧美日韩视频在线第一区二区三区 | 91资源在线视频 | 欧美jjvideo| 天美传媒传媒免费观看 | 欧美一级免费看 | 四虎影视国产精品婷婷 | 色呦呦在线免费观看 | 午夜精品网| 欧美怡红院视频一区二区三区 | 猛男壮男受bl爽哭了高h | 香蕉免费一区二区三区 | 女同性互吃奶乳免费视频 | 亚洲精品在线网址 | 国产午夜永久福利视频在线观看 | 深夜在线观看网站 | 日日免费视频 | 亚洲国产精品久久卡一 | 国产在线视频自拍 | 亚洲第一在线 | 99久久综合给久久精品 | 九九九九九九伊人 | 国产欧美国产综合第一区 |