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

springboot中PostMapping正常接收json參數(shù)后返回404問題

 更新時間:2022年05月06日 16:47:53   作者:陸沙  
這篇文章主要介紹了springboot中PostMapping正常接收json參數(shù)后返回404問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

PostMapping接收json參數(shù)后返回404

問題描述

js中傳遞json數(shù)據(jù)給后端,后端可以正常接收參數(shù),但返回404。

js

? ? ? ? ? ? ? ? function rootConfirm(ids, types) {
? ? ? ? ? ? ? ? ? ? $.tool.confirm("確定結(jié)束" + options.modalName + "?", function () {
? ? ? ? ? ? ? ? ? ? ? ? $.ajax({
? ? ? ? ? ? ? ? ? ? ? ? ? ? type: "post",
? ? ? ? ? ? ? ? ? ? ? ? ? ? url: options.confirmUrl,
? ? ? ? ? ? ? ? ? ? ? ? ? ? traditional: true,
? ? ? ? ? ? ? ? ? ? ? ? ? ? data: {
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 'ids': ids,
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 'types': types
? ? ? ? ? ? ? ? ? ? ? ? ? ? },
? ? ? ? ? ? ? ? ? ? ? ? ? ? success: function (json) {
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? $.tool.ajaxSuccess(json);
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? $.tableUtil.refresh();
? ? ? ? ? ? ? ? ? ? ? ? ? ? },
? ? ? ? ? ? ? ? ? ? ? ? ? ? error: $.tool.ajaxError
? ? ? ? ? ? ? ? ? ? ? ? });
? ? ? ? ? ? ? ? ? ? }, function () {}, 5000);
? ? ? ? ? ? ? ? }

后臺

?@RequiresPermissions(value = {"root_orders:confirm", "root_orders:batchConfirm"}, logical = Logical.OR)
?@PostMapping(value="/root_orders/confirm")
?public ResponseVO rootConfirmOrder(Long[] ids, String[] types) {
? if (ids == null || types == null)
? ?return ResultUtil.error(500, "請至少選擇一個訂單");
? for (int i = 0; i < ids.length; i++) {
? ?/*可以正常打印*/
? ?System.out.println("" + ids[i] + ":" + types[i]);
? }
? return ResultUtil.success("成功結(jié)束 [" + ids.length + "] 個訂單");
?}

解決

添加**@ResponseBody**注解。因為我的函數(shù),所在的類注解是@Controller,但函數(shù)是要返回數(shù)據(jù)而非視圖的。

補充

  • @RestController

這個注解相當(dāng)于@ResponseBody 和 @Controller兩個注解的組合,不返回視圖,只返回數(shù)據(jù)。如果一個類上加了這個注解,那么這個類的函數(shù)都是返回不了視圖的,return “redirect:/XXX/details”;也會只在頁面上顯示return的字符串。

解決方法是把類上的注解改為@Controller,然后給不返回視圖,只返回數(shù)據(jù)的函數(shù)加上注解@ResponseBody。

@PostMapping注解解析

開發(fā)過程IDEA提示如將

@RequestMapping(value="/abc" , method = “RequestMethod.POST”)

替換成@PostMapping?,F(xiàn)對@PostMapping的實現(xiàn)。

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

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

下面很多方法都是對應(yīng)著@RequestMapping的標(biāo)記的別名。

@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的別名, 默認(rèn)為空字符串,一般需要自己填寫
?? ? */
?? ?@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)類似 

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

相關(guān)文章

  • AsyncHttpClient?RequestFilter請求篩選源碼解讀

    AsyncHttpClient?RequestFilter請求篩選源碼解讀

    這篇文章主要為大家介紹了AsyncHttpClient?RequestFilter請求篩選源碼解讀,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-12-12
  • Fluent Mybatis零xml配置實現(xiàn)復(fù)雜嵌套查詢

    Fluent Mybatis零xml配置實現(xiàn)復(fù)雜嵌套查詢

    本文主要介紹了Fluent Mybatis零xml配置實現(xiàn)復(fù)雜嵌套查詢,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • 淺談標(biāo)簽和JLabel類構(gòu)造方法

    淺談標(biāo)簽和JLabel類構(gòu)造方法

    這篇文章主要介紹了標(biāo)簽和JLabel類構(gòu)造方法,具有一定參考價值,需要的朋友可以參考下。
    2017-09-09
  • 使用MyBatisPlus自動生成代碼后tomcat運行報錯的問題及解決方法

    使用MyBatisPlus自動生成代碼后tomcat運行報錯的問題及解決方法

    這篇文章主要介紹了使用MyBatisPlus自動生成代碼后tomcat運行報錯的問題及解決方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-08-08
  • Java中靜態(tài)代碼塊、構(gòu)造代碼塊、構(gòu)造函數(shù)和普通代碼塊的區(qū)別

    Java中靜態(tài)代碼塊、構(gòu)造代碼塊、構(gòu)造函數(shù)和普通代碼塊的區(qū)別

    在Java中,靜態(tài)代碼塊、構(gòu)造代碼塊、構(gòu)造函數(shù)、普通代碼塊的執(zhí)行順序是一個筆試的考點,通過這篇文章希望大家能徹底了解它們之間的執(zhí)行順序,需要的朋友可以參考下
    2023-05-05
  • Java使用CompletableFuture實現(xiàn)異步編程

    Java使用CompletableFuture實現(xiàn)異步編程

    在現(xiàn)代 Java 開發(fā)中,異步編程是一項重要技能,而 CompletableFuture 是從 Java 8 開始提供的一個功能強大的工具,用于簡化異步任務(wù)的編寫和組合,本文將詳細(xì)介紹 CompletableFuture 的基本使用和一些常見的應(yīng)用場景,需要的朋友可以參考下
    2025-01-01
  • 一文帶你深入認(rèn)識JAVA中的異常

    一文帶你深入認(rèn)識JAVA中的異常

    Java異常處理成為社區(qū)中討論最多的話題之一,下面這篇文章主要給大家介紹了關(guān)于JAVA中異常的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用java具有一定的參考借鑒價值,需要的朋友可以參考下
    2024-06-06
  • Java并發(fā)編程之Fork/Join框架的理解

    Java并發(fā)編程之Fork/Join框架的理解

    今天帶大家學(xué)習(xí)Java并發(fā)編程的相關(guān)知識,文中對Fork/Join框架作了非常詳細(xì)的介紹,對正在學(xué)習(xí)有關(guān)知識的小伙伴們很有幫助,需要的朋友可以參考下
    2021-06-06
  • Java如何實現(xiàn)文件壓縮與上傳FTP

    Java如何實現(xiàn)文件壓縮與上傳FTP

    這篇文章主要介紹了Java如何實現(xiàn)文件壓縮與上傳FTP,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • Seata?AT模式TM處理流程圖文示例詳解

    Seata?AT模式TM處理流程圖文示例詳解

    這篇文章主要為大家介紹了Seata?AT模式TM處理流程圖文示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-09-09

最新評論

临泉县| 江华| 新和县| 淮安市| 鄱阳县| 滦南县| 张家港市| 沧州市| 运城市| 新余市| 延安市| 莆田市| 泰兴市| 兴业县| 郑州市| 辛集市| 辛集市| 黎城县| 武邑县| 辽中县| 昌邑市| 湘阴县| 新津县| 宜章县| 吴堡县| 牡丹江市| 云南省| 盐山县| 陇南市| 武威市| 河西区| 咸丰县| 自治县| 三穗县| 汕尾市| 开平市| 博爱县| 远安县| 金乡县| 兴义市| 喀喇沁旗|