zoukankan      html  css  js  c++  java
  • 【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歧义异常

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

  • 相关阅读:
    Newtonsoft.Json序列化 对时间格式化处理
    CSS常用提示浮出层的写法
    避免常见的6种HTML5错误用法
    varchar(Max) 对应SqlParameter 数据类型长度改为1
    IIS指定域名不能调试解决办法
    如何弹出固定大小及内容的网页窗口
    CSS图片圆角框的灵活处理
    精通CSS:高级Web标准解决方案(中文电子书下载)
    AjaxControlToolKit(整理)三.......(35个控件)简单介绍
    CSS通用开发库
  • 原文地址:https://www.cnblogs.com/mindzone/p/12839221.html
Copyright © 2011-2022 走看看