Spring boot 微服务之间@RequestMapping("method = RequestMethod.POST")或者@PostMapping取不到值

微服务A中的serivce类(有@FeignClient注解的):

  @RequestMapping(value = "/Activity/saveActivity", method = RequestMethod.POST)
  JsonResult<Boolean> saveActivity(Activity activity);

微服务B中的Controller

 @RequestMapping(value = "/saveActivity", method = RequestMethod.POST)
    public JsonResult<Boolean> saveActivity(@RequestBody Activity activity){
        return cmsActivityService.saveActivity(activity);
    }

解决方法:

1.如果是对象,在参数中添加@RequestBody注解

2.如果是单个或者多个参数,则在Service中的方法参数加上@RequestParam("id"),Controller也加上这个

举个栗子比如根据ID查询,我自己也记一下

Service(有FeignClient注解那个类)

//根据ID查询
@GetMapping("/cmsActivity/gettivityById")
JsonResult<Activity> gettivityById(@RequestParam("id") String id);

Controller

 @GetMapping("/cmsActivity/getActivityById")
    public JsonResult<Activity> getActivityById(@RequestParam("id") String id){
        return ActivityService.getById(id);
    }

 

Spring Boot 中,@RequestMapping 是一个注解,它用于将 HTTP 请求映射到特定的处理方法上。 @RequestMapping 注解可以用在类或方法上,用于定义 URL 和 HTTP 请求方法与处理方法的映射关系。例如: ```java @RestController @RequestMapping("/example") public class ExampleController { @RequestMapping(method = RequestMethod.GET) public String hello() { return "Hello World!"; } @RequestMapping(value = "/user/{id}", method = RequestMethod.GET) public User getUser(@PathVariable Long id) { // 处理获用户的逻辑 } @RequestMapping(value = "/user", method = RequestMethod.POST) public User createUser(@RequestBody User user) { // 处理创建用户的逻辑 } } ``` 在上面的示例中,@RestController 注解表示该类是一个 RESTful 风格的控制器类,@RequestMapping("/example") 定义了该类中所有处理方法的 URL 的前缀,比如 /example/user 和 /example/user/1。 hello() 方法的 @RequestMapping 注解只有 method 属性,表示该方法处理 GET 请求,因此它的 URL 是 /example,通过浏览器访问该 URL 就可以看到 Hello World! 字符串。 getUser() 方法的 @RequestMapping 注解包含了 value 和 method 属性,表示该方法处理的 URL 是 /example/user/{id},其中 {id} 是一个占位符,用于接收请求中的参数。@PathVariable 注解表示将请求中的参数绑定到方法的参数上,比如 /example/user/1 将被映射到 getUser(1) 方法上。 createUser() 方法的 @RequestMapping 注解包含了 value 和 method 属性,表示该方法处理的 URL 是 /example/user,并且它是一个 POST 请求,@RequestBody 注解表示将请求中的 JSON 字符串绑定到方法的参数上,比如: ```json { "name": "Tom", "age": 20 } ``` 将被映射到 createUser(new User("Tom", 20)) 方法上。 除了 method、value 属性外,@RequestMapping 注解还支持很多其他属性,比如 headers、consumes、produces 等,用于更精细地控制请求映射的条件。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值