精华内容
下载资源
问答
  • restFul风格传参, 参数中带斜杠/问题
    2021-08-12 10:39:29

    今天遇到一个restful接口路径传参问题,我的接口路径传参带斜杠,这样和restful地址就不一致了报404错误,然后看到这样一个解决方法,亲测可用。

    @GetMapping("user/find/by/{name}/**")
    public String getMapping(@PathVariable String name, HttpServletRequest request){
    String path = request.getAttribute(HandlerMapping.PATH_WITHIN_HANDLER_MAPPING_ATTRIBUTE).toString();
    String path2 = request.getAttribute(HandlerMapping.BEST_MATCHING_PATTERN_ATTRIBUTE).toString();
    String args = new AntPathMatcher().extractPathWithinPattern(path2, path);
    return name + "/" + args;
    }
    
    更多相关内容
  • RestFul风格传参

    千次阅读 2021-01-04 21:50:27
    RestFul风格就是所有参数都由/传递,而不是传统的?xx&xx形式 例如:写一个Controller: package controller; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import...

    RestFul风格就是所有参数都由/传递,而不是传统的?xx&xx形式

    例如:写一个Controller:

    package controller;
    
    import org.springframework.stereotype.Controller;
    import org.springframework.ui.Model;
    import org.springframework.web.bind.annotation.PathVariable;
    import org.springframework.web.bind.annotation.RequestMapping;
    
    @Controller
    public class RestfulController {
    @RequestMapping("/add")
    public String test(int a,int b, Model model){
    
    int res = a+b;
    model.addAttribute("msg","结果为"+res);
    return "test";
    }
    }
    

    可以看到出现a,b没找到的错误
    在这里插入图片描述
    按照传统方式传递参数:?a=1&b=2

    在这里插入图片描述
    那么按照Restful风格传递参数就应该:在方法参数值前加@PathVariable注解,并在url上直接绑定参数,可以同时设置Request的方法类型(GET、POST、DELETE、OPTIONS、HEAD、PATCH、PUT、TRACE)

    @PathVariable:让方法参数的值对应绑定到一个url模板变量上

    package controller;
    
    import org.springframework.stereotype.Controller;
    import org.springframework.ui.Model;
    import org.springframework.web.bind.annotation.PathVariable;
    import org.springframework.web.bind.annotation.RequestMapping;
    
    @Controller
    public class RestfulController {
    @RequestMapping(value = "/add/{a}/{b}",method = RequestMethod.GET)
    public String test(@PathVariable int a,@PathVariable int b, Model model){
    
    int res = a+b;
    model.addAttribute("msg","结果为"+res);
    return "test";
    }
    }
    

    再次开启Tomcat,并设定a=1,b=3:
    /add/1/3传递参数

    在这里插入图片描述
    这就是restful风格传参

    也可以通过变相的组合注解实现:

    • @PostMapping
    • @GetMapping
    • @PutMapping
    • @DeleteMapping
    • @PatchMapping
    展开全文
  • 多个参数传参数时, 有参数为空情况下, 报错的处理

    问题

    页面

    <a href="${pageContext.request.contextPath}/book/jump/updateBook/${book.bookID}">修改</a>
    <a class="btn btn-primary" href="${pageContext.request.contextPath}/book/jump/addBook">新增书籍</a>
    
    • 这里想跳转两个页面,修改页面需要传id, 新增页面不需要

    controller

    @RequestMapping("/jump/{page}/{id}")
    public String jumpPage(@PathVariable String page,@PathVariable Integer id, Model model){
    
    }
    
    • 这种方式修改页面没问题, 新增页面没有传id就报404了

    解决

    @RequestMapping(value = {"/jump/{page}","/jump/{page}/{id}"})//id可以为空
    public String jumpPage(@PathVariable String page,@PathVariable(required = false) Integer id, Model model){
    
    }
    
    • 可以为空的参数添加@PathVariable(required = false)
    • RequestMapping修改@RequestMapping(value = {"/jump/{page}","/jump/{page}/{id}"})

    小结:

    • 参数为空时取 "/jump/{page}"
    • 参数有值取 /jump/{page}/{id}
    • 二选一, 参数有值时取有参数的url, 否则取没有参数的url
    展开全文
  • RestFul风格: 在上述的四大请求类型中都可以使用(单独的体系) 参数使用/分割 注意参数结构 灵活选用. RestFul风格-简单参数接收 /** * 1.restFul实现用户查询 * URL: http://localhost:8090/user/100 * type:...

    请求的类型是由程序员手动控制

    http常用的请求类型 8种 但是一般四种需要单独的记忆.

    分类A
    1.get 请求类型 查询
    2.delete 请求类型 删除


    分类B
    1.post 请求类型 form表单提交 新增操作
    2.put 请求类型 更新操作

    1. 查询操作时 GET请求类型 特点: 参数结构key=value URL?key=value&key2=value2

    2. 新增(form表单) POST请求类型 特点: 会将参数封装到请求头中 相对更加的安全 key=value key2=value2 可以直接采用对象的方式接收.

     Axios中的post 参数是一个JSON串 {key1:vallue1, key2:value2} 将JSON串转化为对象 @RequestBody

    3. 删除操作 DELETE请求类型 特点:与GET请求类型 一致的.

    4. 更新操作 PUT请求类型 特点: 与POST请求类型一致的.

    5. RestFul风格: 在上述的四大请求类型中都可以使用(单独的体系) 参数使用/分割 注意参数结构 灵活选用.

    RestFul风格-简单参数接收

    	/**
         * 1.restFul实现用户查询
         * URL: http://localhost:8090/user/100
         * type: GET
         * RequestMapping 默认的可以接收所有的请求类型
         * RestFul语法:
         *      1.参数的位置固定.
         *      2.参数必须使用{}包裹
         *      3.必须使用@PathVariable 动态的接收参数
         *      注意事项: {参数名称}必须与方法中的名称一致.
         */
        //@RequestMapping(value = "/user", method = RequestMethod.GET)
        @GetMapping("/user/{id}")
        public String restFulGet(@PathVariable Integer id){
    
            return "restFul动态的获取参数:"+id;
        }
    

    RestFul风格-对象参数接收

     /**
         * 需求: 查询name=tomcat age=18 sex=女的用户
         * 要求使用:restFul
         * URL: http://localhost:8090/user/tomcat/18/女
         * restFul的优化:
         *  如果{参数名称}与对象中的属性名称一致,
         *      则SpringMVC动态的为对象赋值,
         *      @PathVariable 可以省略
         * 注意事项:
         *      前后端的参数的传递必须保持一致!!!!
         */
        @GetMapping("/user/{name}/{age}/{sex}")
        public User restGetUser(User user){
            //执行后续的业务操作 userService
            return user;
        }
    

    展开全文
  • // 伪代码 ``` @GetMapping("user/find/by/{name}") public void findByName(@PathVariable ...这样url就变成user/find/by/xiao/ming 了, 接口匹配不到, 报404, 在必须要用restFul传参的情况下, 这种问题要怎么解决
  • 引用自
  • RestFul风格Postman传参测试

    千次阅读 2020-05-18 21:53:20
    RestFul风格Postman传参测试 一、传递单个参数 以根据id删除为例 controller层: @CrossOrigin @RestController @RequestMapping("/job") public class JobController { @Autowired private JobService jobService...
  • 前端调用restful风格的接口怎么传参? 接口url 用反引号 url + ${参数} 即可传参
  • vue中restful风格下的传参

    千次阅读 2020-05-21 21:51:35
    vue中restful风格下的传参: 参数传递: this.$router.push({ name: ‘pumpdetail’, params: { pumpId: 100 } }) 路由文件 { path: ‘/pumpdetail/:pumpId’, name: ‘pumpdetail’, }, 参数接收: this.$route....
  • RESTFUL风格的URL请求及参数接收

    千次阅读 2020-12-24 10:35:14
    RESTFUL适用于移动互联网厂商作为业务使能接口的场景,实现第三方OTT调用移动...---百度百科以前使用最多的请求方式还是post,post一时爽一直post一直爽,直到我接触了restful风格API,嗯真香!我就简单展示一下我怎么使...
  • 什么是RestFul架构风格&&Springboot四种传参方式 1、Restful Rest:资源表现层状态转化 所谓的资源就是指网络中一切事物都是资源Resource 每一个资源都有一个唯一URL 表现层:将资源具体呈现出来形式,称之...
  • } RestFul风格的方法 从上面的图可以看出来,有些方法是没有返回的,比如put和delete,但是可以封装请求参数和请求头。 例子一 HttpHeaders headers = new HttpHeaders(); headers.add("Authorization", "Bearer");...
  • 关于请求方式及使用范围,可以参考 RESTful API 接收参数 @RequestParam 我们来写一个示例并说明: public String getInfo(@RequestParam(name = "param", required = false, defaultValue = "param dafault value")...
  • 方式一: th:href="@{/query/{id}(id=${c.getId()})}" 方法二:多个参数 字符串拼接 th:href="@{'/delete/'+${a.getId()}+'/'+${c.Id()}}
  • restful风格进行传参的时候返回找错地址 SpringMVC中如果使用RestFul风格进行传参,且不在spring.xml配置中视图解析器中加前缀 如下所示: 则会出现下面这样的错误 服务器去找rest/2/4下的hello.jsp了,而不是...
  • json字符串转对象 json.parse(字符串对象) json对象序列化json字符串 json.stringify(json对象) json对象转Java对象 jsonObiect.FromObject(字符串),转成Java对象后直接.toString()转成字符串 获取Restful风格参数...
  • restFul请求方法路径不能出现动词 RestFul风格实现CURD操作: 1.查询: http://localhost:8090/user/100 type:GET 2.新增: http://localhost:8090/user/tomcat/18/男 type:POST 3.删除: ...
  • 项目介绍地址:https://blog.csdn.net/weixin_45573378/article/details/106862184 废话不多直接上代码 Vue <template> <div id="main"> <div> <h1>检查项</h1>...
  • 1、Restful Rest:资源表现层状态转化 所谓的资源就是指网络中一切事物都是资源Resource 每一个资源都有一个唯一URL 表现层:将资源具体呈现出来形式,称之为表现层,例如jsp,html 状态转化:用来操作展示出来...
  • 我的接口,Restful风格 浏览器访问,成功 Postman访问,非中文可以 Postman访问,中文出错 解决方案 将中文转为相应的URL编码 使用URL编码代替中文传参
  • 首先是简单的java接口代码 写了四个让前端请求的接口,以下为代码 @GetMapping("/v1/user/{username}/{password}") public Result login2(@PathVariable("username") String username, @PathVariable("password")...
  • Restful传递数组参数及注解大全RESTful 一种软件架构风格,设计风格而不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于...
  • 一:get形式传参 1、传统url传参 // 传统形式的传参 ... method: "get", }) // 传统形式的传参 app.get('/books', (req, res) =>...2、Restful形式传参: // restful形式的传参 fetch("http://localhost:300
  • 以上就是常用的四种restful风格的请求,都是博主自己开发中请求的数据,都没问题,但是具体的请求还要看大家和后端数据格式的规范以及一些业务熟悉,这里只提供思路。 切记跨域问题,记得让后端处理,如果是本地的...
  • 一、什么是Restful风格: 是基于Rest理念的一套开发风格,以URL方式进行资源的传递,作为用户交互的入口,有四种请求方式,分别是get,post,put,delete。restful风格只返回json或xml数据,不关心页面展现 1、get...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,418
精华内容 967
关键字:

restful风格传参