@PostMapping和@GetMapping用法详解

29、@PostMapping和@GetMapping用法详解:
public class ApplyObject {
   private String id ;
   private String name;
    
}
1、使用post方法调用
    前端传递参数如果是一个object的话,{id:'1',name:'2222'}
    后端参数接收的话,需要使用@RequestBody ApplyObject applyObject  requestBody里面放置的是一个实体类
    @PostMapping(value = "/generatedData")
    public Result<?> generatedData(@RequestBody ApplyObject applyObject) throws Exception {
       
    }

   前端传递的参数如果是一个拼接的带?的字符串的话:如 xxx/generatedData?id=1&name=222
   后端的参数接收就需要使用 @RequestParam("id") String id   @RequestParam 加上问号后面对应的字段名称
        @PostMapping(value = "/generatedData")
    public Result<?> generatedData( @RequestParam("id") String id, @RequestParam("name") String name) throws Exception {
   
    }

    前端传递参数如果是一个object的话,{id:'1',name:'2222'}
    后端参数接收的话,需要使用@RequestBody ApplyObject applyObject  requestBody里面放置的是一个实体类,不想用实体类接收的话,可以用Jsobject来接收 这个包package com.alibaba.fastjson;
    @PostMapping(value = "/generatedData")
    public Result<?> generatedData(@RequestBodyJSONObject jsonObject) throws Exception {
        String id = jsonObject.getString("id");
        String name = jsonObject.getString("name");
    //这样也是可以拿到你想要的值的
    }
2、使用get方法
    前端传递参数如果是一个object的话,{id:'1',name:'2222'}
    后端参数接收的话,里面放置的是一个实体类
    @GetMapping(value = "/generatedData")
    public Result<?> generatedData(ApplyObject applyObject) throws Exception {
       
    }

   前端传递的参数如果是一个拼接的带?的字符串的话:如 xxx/generatedData?id=1&name=222
   后端的参数接收就需要使用 也是使用@RequestParam("id") String id   @RequestParam 加上问号后面对应的字段名称
     @GetMapping(value = "/generatedData")
    public Result<?> generatedData( @RequestParam("id") String id, @RequestParam("name") String name) throws Exception {
   
    }
    前端传递参数如果是一个object的话,如 xxx/generatedData/id ,id中放置的是具体的值
    后端参数接收的话,需要使用@PathVariable String id  
    @GetMapping(value = "/generatedData/{id}")
    public Result<?> generatedData(@PathVariable("id") String id) throws Exception {
      
    }

你可能感兴趣的:(java)