七叶笔记 » java编程 » springboot中PostMapping正常接收json参数后返回404问题

springboot中PostMapping正常接收json参数后返回404问题

PostMapping接收json参数后返回404

问题描述

js中传递json数据给后端,后端可以正常接收参数,但返回404。

js

后台

解决

添加**@ResponseBody**注解。因为我的函数,所在的类注解是@Controller,但函数是要返回数据而非视图的。

补充

@RestController

这个注解相当于@ResponseBody 和 @Controller两个注解的组合,不返回视图,只返回数据。如果一个类上加了这个注解,那么这个类的函数都是返回不了视图的,return “redirect:/XXX/details”;也会只在页面上显示return的字符串。

解决方法是把类上的注解改为@Controller,然后给不返回视图,只返回数据的函数加上注解@ResponseBody。

@PostMapping注解解析

开发过程IDEA提示如将

替换成@PostMapping。现对@PostMapping的实现。

@PostMapping是一个复合注解,Spring framework 4.3引入了@RequestMapping注释的变体,以更好地表示带注释的方法的语义,作为@RequestMapping(method = RequestMethod.POST)的快捷方式。

也就是可以简化成@PostMapping(value="/abc" )即可,主要是方便识记。

下面很多方法都是对应着@RequestMapping的标记的别名。

其他变体如下:

@GetMapping、@PutMapping、@PatchMapping和@DeleteMapping,与@PostMapping实现类似 

以上为个人经验,希望能给大家一个参考,也希望大家多多支持七叶笔记。

相关文章