zoukankan      html  css  js  c++  java
  • Restful风格

    概念:
    Restful就是一个资源定位及资源操作的风格。不是标准也不是协议,只是一种风格。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。

    功能

    • 资源:互联网所有的事物都可以被抽象为资源
    • 资源操作:使用POST、DELETE、PUT、GET,使用不同方法对资源进行操作。
    • 分别对应 添加、 删除、修改、查询。

    传统方式操作资源 :通过不同的参数来实现不同的效果!方法单一,post 和 get

    使用RESTful操作资源 : 可以通过不同的请求方式来实现不同的效果!如下:请求地址一样,但是功能可以不同!

    举例测试:

    Spring MVC中可以使用 @PathVariable 注解,让方法参数的值对应绑定到一个URI模板变量上。

    此处项目接SpringMVC搭建

    1、新建Controller类

    @Controller
    public class RestfulController {
    
        @RequestMapping("/restful/add/{a}/{b}")
        public String add(@PathVariable int a, @PathVariable int b, Model model){
            model.addAttribute("result",a+b);
            return "test";
    
        }
    }

    2、新建test.jsp

    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>Title</title>
    </head>
    <body>
    ${result}
    </body>
    </html>

    测试结果:

    思考:使用路径变量的好处?

    • 使路径变得更加简洁;
    • 获得参数更加方便,框架会自动进行类型转换。
    • 通过路径变量的类型可以约束访问参数,如果类型不一样,则访问不到对应的请求方法,如这里访问是的路径是/add/1/a,则路径与方法不匹配,而不会是参数转换失败。

    通过restful的风格实现相同地址的不同请求方法

    1、编写Controller类

    @Controller
    public class RestfulController {
    
        //@GetMapping("/restful/add/{a}/{b}")等价
        @RequestMapping(value = "/restful/add/{a}/{b}",method = RequestMethod.GET)
        public String add(@PathVariable int a, @PathVariable int b, Model model){
            model.addAttribute("result","使用了get方法:"+(a+b));
            return "test";
        }
    
        //@PostMapping("/restful/add/{a}/{b}")等价
        @RequestMapping(value = "/restful/add/{a}/{b}",method = RequestMethod.POST)
        public String multiply(@PathVariable int a, @PathVariable int b, Model model){
            model.addAttribute("result","使用了post方法:"+a*b);
            return "test";
        }
    }

    2、编写submit页面使用表单post方法提交参数,url直接输入参数默认为get方法

    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>Title</title>
    </head>
    <body>
    <form action="/restful/add/2/3"method="post">
        <input type="submit"/>
    </form>
    </body>
    </html>

    访问submit页面,点击提交按钮

    测试结果:

     url直接输入http://localhost:8080/restful/add/2/3访问

    测试结果:

    总结:

     @RequestMapping 注解能够处理 HTTP 请求的方法, 比如 GET, PUT, POST, DELETE 以及 PATCH

    方法级别的注解有以下几个组合注解:

    @GetMapping @PostMapping @PutMapping @DeleteMapping @PatchMapping

    使用restful的好处:

    url更简洁,安全性提高,不显示参数名

  • 相关阅读:
    linux查看java jdk安装路径和设置环境变量
    linq where in 排序
    Console程序后台运行
    winform中文本框,软键盘跟随
    winform 应用log4net做日志记录到mysql
    c# 单实例运行
    Sql Server数据库监听 c#代码
    winform程序开机自动启动
    c# 连接mysql配置config,不用装net connector
    winform 不规则窗体无锯齿demo
  • 原文地址:https://www.cnblogs.com/alanchenjh/p/12306756.html
Copyright © 2011-2022 走看看