关于@PathVariable、@RequestBody、@RequestParam请求注解

@RequestBody Jason转换为对象

@RestController
@RequestMapping("/seller")
public class SellerController {
    
    
    /** 注入商家服务接口代理对象 */
    @Reference(timeout = 10000)
    private SellerService sellerService;
    /** 添加商家 */
    @PostMapping("/save")
    public boolean save(@RequestBody Seller seller){
    
    
        try{
    
    
            sellerService.save(seller);
            return true;
        }catch (Exception ex){
    
    
            ex.printStackTrace();
        }
        return false;
    }
}

@PathVariable获取请求路径中的一个值

 @RequestMapping(value = "/{id}",method = RequestMethod.DELETE)
    public Result delete(@PathVariable String id){
    
    
        labelService.delete(id);
        return new Result(true,StatusCode.OK,"删除成功");
    }

@RequestParam 设置默认值


@Controller
@RequestMapping("/user")
public class UserController {
    
    
    // 注入service
    @Autowired
    private IUserService userService;

    // 分页查询
    @RequestMapping("/findByPage")
    public ModelAndView findByPage(
            @RequestParam(value = "pageNum",defaultValue = "1") int pageNum,
            @RequestParam(value = "pageSize",defaultValue = "2") int pageSize){
    
    
        //1.1 调用service
        PageInfo<SysUser> pageInfo = userService.findByPage(pageNum, pageSize);
        //1.2 返回结果
        ModelAndView mv = new ModelAndView();
        mv.setViewName("user-list");
        mv.addObject("pageInfo",pageInfo);
        return mv;
    }
}


required = true,默认是true。

/**
 * @RequestParam 注解[建立请求参数与方法形参的映射关系]
 * 1.访问地址:http://localhost:8080/product/delete.do?username=jack
 * 2.因为请求参数与方法形参不一致,所以要使用@RequestParam解决
 * 3.注解属性
 *   value 对应请求参数名称
 *   required = true 请求时候必须要带参数,否则报错(400 – Bad Request)
 *   defaultValue 指定默认值,如果请求时候没有带该参数,使用默认值。
 */
@RequestMapping("delete")
public String delete(@RequestParam(value = "username",
required = false,defaultValue = "Jacky") String name){
    
    
    System.out.println(name);
    return "success";
}


普通的是不用加入的

@RestController
@RequestMapping("/seller")
public class SellerController {
    
    
    @Reference(timeout = 10000)
    private SellerService sellerService;
    /** 多条件分页查询商家 */
    @GetMapping("/findByPage")
    public PageResult findByPage(Seller seller, Integer page, Integer rows){
    
    
        try {
    
    
            /** GET请求中文转码 */
            if (seller != null && StringUtils.isNoneBlank(seller.getName())) {
    
    
                seller.setName(new String(seller.getName()
                        .getBytes("ISO8859-1"), "UTF-8"));
            }
            if (seller != null && StringUtils.isNoneBlank(seller.getNickName())) {
    
    
                seller.setNickName(new String(seller.getNickName()
                        .getBytes("ISO8859-1"), "UTF-8"));
            }
        }catch (Exception ex){
    
    
            ex.printStackTrace();
        }
        return sellerService.findByPage(seller, page, rows);
    }
}

猜你喜欢

转载自blog.csdn.net/qq_45850872/article/details/107214070