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 请求

    没有修不好的电脑
  • 相关阅读:
    .NET 图片解密为BASE64
    IIS&ASP.NET 站点IP跳转到域名
    http转https实战教程iis7.5
    接口传参几种方式
    Python3 字符串
    ASP.Net Core WebApi几种版本控制对比
    Docker 部署NetCore 接口(三)
    Docker关键概念和基本命令(二)
    Windows平台下kafka环境的搭建以及简单使用
    CentOS7 安装 Docker-CE(一)
  • 原文地址:https://www.cnblogs.com/duniqb/p/12702428.html
Copyright © 2011-2022 走看看