zoukankan      html  css  js  c++  java
  • @RequestParam,@PathParam,@PathVariable,@QueryParam注解的使用区别

    注解所属框架

    @RequestParam@PathVariable 注解是用于从 request 中接收请求的,两个都可以接收参数,关键点不同的是 @RequestParam 是从 request 里面拿取值,而 @PathVariable 是从一个URI模板里面来填充

    所属平台获取url模板上数据的(/{id})@DefaultValue获取请求参数的(包括post表单提交)键值对(?param1=10&param2=20)、可以设置defaultValue
    JAX-RS @PathParam @QueryParam
    Spring @PathVariable @RequestParam

    详细介绍

    @RequestParam

    在这里插入图片描述
    前端传来的这种 url,可以使用以下方式获取

        @GetMapping("/api/private/v1/users")
        public JSONResult userList(@RequestParam(value = "query", required = false) String query,
                                   @RequestParam(value = "pagenum") int pageNum,
                                   @RequestParam(value = "pagesize") int pageSize) {
            UserListDTO result = userService.userList(query, pageNum, pageSize);
            return JSONResult.build(result, "查询成功", 200);
        }
    
    @PathVariable

    这是在解析 URL 里的变量,在 Mapping 中使用 {uId} 的方式获取
    在这里插入图片描述

        @PutMapping("/api/private/v1/users/{uId}/state/{type}")
        public JSONResult userState(@PathVariable(value = "uId") Integer uId,
                                    @PathVariable(value = "type") Boolean type) {
            int i = userService.userState(uId, type);
            if (i > 0) {
                SpManager spManager = userService.selectOneById(uId);
                ManagerDTO managerDTO = new ManagerDTO();
                BeanUtils.copyProperties(spManager, managerDTO);
                return JSONResult.build(managerDTO, "设置状态成功", 200);
            }
            return JSONResult.build(null, "设置状态失败", 400);
        }
    
    @PathParam

    等同于 Spring 的 @PathVariable 是一样的,也是基于模板的,但是这个是 jboss 包下面的一个实现,上面的是 Spring 的一个实现,都要导包

    @QueryParam

    与 Spring 的 @RequestParam 作用一致

    @ResponseBody

    表示从服务器返回数据的时候,是以 JSON 的形式返回的

    @RequestBody

    表示接收的是 JSON 数据,是一个 POST 请求

    没有修不好的电脑
  • 相关阅读:
    批量插入SQL(适用于数据量十万级以上的快速大量插入)
    python爬虫BUG(爬取航班信息)
    python爬虫实例(爬取航班信息)
    python入门基础
    C#生成Guid的几种方式
    微信小程序echart图
    替换SQL字段中的换行符,回车符
    ASP.NET目录
    增删改查程序
    C++中explicit关键字的使用
  • 原文地址:https://www.cnblogs.com/duniqb/p/12702428.html
Copyright © 2011-2022 走看看