最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringBoot @PostMapping接收HTTP請求的流數(shù)據(jù)問題

 更新時間:2023年02月27日 09:01:42   作者:lookbbs  
這篇文章主要介紹了SpringBoot @PostMapping接收HTTP請求的流數(shù)據(jù)問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

@PostMapping接收HTTP請求的流數(shù)據(jù)

@PostMapping("/test")
public String pushMessage(@RequestBody byte[] data) throws Exception {
    String json = URLDecoder.decode(new String(data, DEFAULT_CHARSET), DEFAULT_CHARSET);
    log.info(">>> 接收CP推送的消息:{}", json);
 
    JSONObject jsonObject = JacksonUtils.jsonToBean(json, JSONObject.class);
    System.out.println(jsonObject.get("key"));
    return “success”
}

Client 請求

try {
    //創(chuàng)建連接
    URL url = new URL(ADD_URL);
    HttpURLConnection connection = (HttpURLConnection) url.openConnection();
    connection.setDoOutput(true);
    connection.setDoInput(true);
    connection.setRequestMethod("POST");
    connection.setUseCaches(false);
    connection.setInstanceFollowRedirects(true);
    //application/x-javascript 
    //text/xml->xml數(shù)據(jù) 
    //application/x-javascript->json對象 
    //application/x-www-form-urlencoded->表單數(shù)據(jù) 
    //application/json;charset=utf-8 -> json數(shù)據(jù)
    connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
    connection.setRequestProperty("accept", "*/*");
    connection.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
 
    connection.connect();
 
    //POST請求
    DataOutputStream out = new DataOutputStream(connection.getOutputStream());
 
    JSONObject data = new JSONObject();
    data.element("key", "這是一條測試數(shù)據(jù)");
    
    out.writeBytes(data.toString());
    out.flush();
    out.close();
 
    //讀取響應
    BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
    String lines;
    StringBuffer sb = new StringBuffer("");
    while ((lines = reader.readLine()) != null) {
        lines = new String(lines.getBytes(), "utf-8");
        sb.append(lines);
    }
    System.out.println(sb);
    reader.close();
    // 斷開連接
    connection.disconnect();
} catch (MalformedURLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
} catch (UnsupportedEncodingException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
} catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}

關(guān)于@PostMapping注解解析

開發(fā)過程IDEA提示如將@RequestMapping(value="/abc" , method = “RequestMethod.POST”)替換成@PostMapping?,F(xiàn)對@PostMapping的實現(xiàn)。

@PostMapping是一個復合注解,Spring framework 4.3引入了@RequestMapping注釋的變體,以更好地表示帶注釋的方法的語義,作為@RequestMapping(method = RequestMethod.POST)的快捷方式。

也就是可以簡化成@PostMapping(value="/abc" )即可,主要是方便識記。

下面很多方法都是對應著@RequestMapping的標記的別名。

@RequestMapping(value = “”, path = “”, params = “”, headers = “”,consumes = “”, produces = “”)
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@RequestMapping(method = RequestMethod.POST)
public @interface PostMapping {

	/**
	 * RequestMapping 的別名,
	 */
	@AliasFor(annotation = RequestMapping.class)
	String name() default "";

	/**
	 *RequestMapping#value的別名, 默認為空字符串,一般需要自己填寫
	 */
	@AliasFor(annotation = RequestMapping.class)
	String[] value() default {};

	/**
	 * RequestMapping#path的別名
	 */
	@AliasFor(annotation = RequestMapping.class)
	String[] path() default {};

	/**
	 * RequestMapping#params的別名
	 */
	@AliasFor(annotation = RequestMapping.class)
	String[] params() default {};

	/**
	 * RequestMapping#headers的別名
	 */
	@AliasFor(annotation = RequestMapping.class)
	String[] headers() default {};

	/**
	 * RequestMapping#consumes的別名
	 */
	@AliasFor(annotation = RequestMapping.class)
	String[] consumes() default {};

	/**
	 * RequestMapping#produces的別名
	 */
	@AliasFor(annotation = RequestMapping.class)
	String[] produces() default {};

}

其他變體如下:

@GetMapping、@PutMapping、@PatchMapping和@DeleteMapping,與@PostMapping實現(xiàn)類似

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Spring?Boot如何通過Actuator顯示git和build的信息

    Spring?Boot如何通過Actuator顯示git和build的信息

    這篇文章主要介紹了Spring?Boot通過Actuator顯示git和build的信息,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-01-01
  • java 多線程實現(xiàn)在線咨詢(udp)

    java 多線程實現(xiàn)在線咨詢(udp)

    這篇文章主要介紹了java 多線程實現(xiàn)在線咨詢(udp)的示例,幫助大家更好的理解和學習Java 網(wǎng)絡編程的相關(guān)內(nèi)容,感興趣的朋友可以了解下
    2020-11-11
  • Java連接MySQL數(shù)據(jù)庫增刪改查的通用方法(推薦)

    Java連接MySQL數(shù)據(jù)庫增刪改查的通用方法(推薦)

    下面小編就為大家?guī)硪黄狫ava連接MySQL數(shù)據(jù)庫增刪改查的通用方法(推薦)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-08-08
  • Java如何分析算法的時間和空間復雜度

    Java如何分析算法的時間和空間復雜度

    這篇文章主要介紹了Java如何分析算法的時間和空間復雜度,在計算機科學中,計算復雜性解釋了算法的性能。文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的朋友可以參考一下
    2022-06-06
  • Springboot前后端分離項目配置跨域?qū)崿F(xiàn)過程解析

    Springboot前后端分離項目配置跨域?qū)崿F(xiàn)過程解析

    這篇文章主要介紹了Springboot前后端分離項目配置跨域?qū)崿F(xiàn)過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-08-08
  • java實現(xiàn)zip,gzip,7z,zlib格式的壓縮打包

    java實現(xiàn)zip,gzip,7z,zlib格式的壓縮打包

    本文是利用Java原生類和apache的commons實現(xiàn)zip,gzip,7z,zlib的壓縮打包,如果你要是感興趣可以進來了解一下。
    2016-10-10
  • Java顯示程序包不存在的三種解決方法總結(jié)

    Java顯示程序包不存在的三種解決方法總結(jié)

    在Java開發(fā)中,有時會遇到“程序包javax.servlet不存在”等錯誤提示,這通常是因為缺少必要的庫或依賴項,這篇文章主要給大家介紹了關(guān)于Java顯示程序包不存在的三種解決方法,需要的朋友可以參考下
    2024-07-07
  • java使用GeoTools讀取shp文件并畫圖的操作代碼

    java使用GeoTools讀取shp文件并畫圖的操作代碼

    GeoTools是ArcGis地圖與java對象的橋梁,今天通過本文給大家分享java使用GeoTools讀取shp文件并畫圖,文章通過實例代碼給大家介紹的非常詳細,需要的朋友參考下吧
    2021-07-07
  • java 流操作對文件的分割和合并的實例詳解

    java 流操作對文件的分割和合并的實例詳解

    這篇文章主要介紹了java 流操作對文件的分割和合并的實例詳解的相關(guān)資料,希望通過本文能幫助到大家,讓大家理解掌握這部分內(nèi)容,需要的朋友可以參考下
    2017-10-10
  • Spring Boot 2.0.0 終于正式發(fā)布-重大修訂版本

    Spring Boot 2.0.0 終于正式發(fā)布-重大修訂版本

    北京時間 2018 年 3 月 1 日早上,如約發(fā)布的 Spring Boot 2.0 在同步至 Maven 倉庫時出現(xiàn)問題,導致在 GitHub 上發(fā)布的 v2.0.0.RELEASE 被撤回
    2018-03-03

最新評論

安义县| 连云港市| 石嘴山市| 娄烦县| 政和县| 始兴县| 义乌市| 沂南县| 页游| 酉阳| 稻城县| 高唐县| 霍林郭勒市| 嘉兴市| 西城区| 禹州市| 巫山县| 神农架林区| 屏边| 定远县| 平顺县| 湖北省| 清涧县| 黑山县| 新乡市| 武隆县| 舟曲县| 巩留县| 垣曲县| 开远市| 闻喜县| 长子县| 思茅市| 镇雄县| 同心县| 新化县| 花垣县| 灵武市| 凌云县| 东丽区| 哈巴河县|