• 【SpringMVC】05 RestFul风格


    什么是RestFul风格?

    一个资源定位和资源操作的风格,不是标准,也不是协议,

    基于此风格的路径访问可以隐藏真实的参数传递,以提高网站的安全访问


    以往的请求参数:

    jdbc:mysql://localhost:3306/mybatis?serverTimezone=Aisa/Shanghai

    很明显,每次连接都带有一个问号加上KV对的参数

    如果使用RestFul,我们就会像访问一个资源一样,传递KV参数


    演示案例:

    控制器

    package cn.dai.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;
    
    /**
     * @author ArkD42
     * @file SpringMVC
     * @create 2020 - 05 - 06 - 21:33
     */
    @Controller
    public class RestFulController {
        
        @RequestMapping("/getSum/{a}/{b}")
        public String restful(@PathVariable int a,@PathVariable int b, Model model){
            int sum = a + b;
            model.addAttribute("sum",sum);
            return "rest";
        }
    }

    接受的jsp页面

    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>Title</title>
    </head>
    <body>
        <p>使用RestFul传递参数,并处理: ${sum}</p>
    </body>
    </html>

    访问:

    @PathVariable 路径变量

    被注解的形参变量,就表示映射路径传递的字符

    RestFul表达式【{param}】

    参数必须以大括号修饰,才能被上面的注解映射


    除上面的功能之外,我们还可以配合请求映射进行分别处理

    可以设置请求的方法是哪种的,再来处理,如果不是来自Get方式请求的URL,将不会被处理

    请求方式可以设置为这些

    这个RequestMapping还可以再简写为具体的请求方式注解

    也就是说,对同一URL的路径,请求的方式不一样,都可以实现不同处理

    例如这样:

    另外这么做要注意一点:

    不要设置同样的请求路径的基础上设置同样的请求方式,SpringMVC将会报Mapping歧义异常

    它无法判断你到底是需要这两个方法的哪一种来处理

  • 相关阅读:
    mock中测试private方法,不是mock
    PHP检测每一段代码执行时间
    Cannot find autoconf. Please check your autoconf installation and the $PHP_AUTOCONF environment variable. Then, rerun this script.
    php返回HTTP状态码
    PHP获取今天、昨天、明天的日期
    memcache及其telnet命令使用详解
    PHP的json_encode中文被转码的问题
    PHP函数篇详解十进制、二进制、八进制和十六进制转换函数说明
    php pack()函数详解与示例
    socket编程原理
  • 原文地址:https://www.cnblogs.com/mindzone/p/12839221.html
Copyright © 2020-2023  润新知