• RESTful风格请求映射


    RESTful风格请求映射

    系统要求

    Java 8+

    springBoot2.5 +

    创建springBoot项目工程

    编写HomeController类

    package com.xiang.controller;
    
    import org.springframework.web.bind.annotation.*;
    
    /**
     * Created by IntelliJ IDEA.
     * User: xiang
     * Date: 2021/10/13 14:22
     */
    @RestController
    public class HomeController {
        @RequestMapping("/info")
        public String info() {
            return "info";
        }
    
        @GetMapping("/info")
        public String getInfo() {
            return "getInfo()";
        }
    
        @PostMapping("/info")
        public String postInfo() {
            return "postInfo()";
        }
    
        @PutMapping("/info")
        public String putInfo() {
            return "putInfo()";
        }
    
        @DeleteMapping("/info")
        public String delInfo() {
            return "delInfo()";
        }
    }
    
    

    编写application.yml文件

    spring:
      mvc:
        hiddenmethod:
          filter:
            #手动开启Restful风格
            enabled: true
    

    编写index.html文件

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>index</title>
        <style>
            input{
                margin-top: 10px;
            }
        </style>
    </head>
    <body>
    <h2>
        index
    </h2>
    
    <form action="/info" method="get">
        <input type="submit" value="get提交">
    </form>
    
    <form action="/info" method="post">
        <input type="submit" value="post提交">
    </form>
    
    <!--当使用其他的提交方式时,提交方式必须是post提交-->
    <form action="/info" method="post">
        <!--
               当我们使用form默认不支持的提交方式时,需要写这样一个标签
               <input name="_method" type="hidden" value="DELETE">
               一般会将该标签设为隐藏
               name是固定的
               value需要写提交方式
           -->
        <input type="hidden" name="_method" value="delete">
        <input type="submit" value="delete提交">
    </form>
    
    <form action="/info" method="post">
        <input type="hidden" name="_method" value="put">
        <input type="submit" value="put提交">
    </form>
    
    </body>
    </html>
    

    主程序运行

    package com.xiang;
    
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    
    @SpringBootApplication
    public class SpringBootRestfulApplication {
    
        public static void main(String[] args) {
            SpringApplication.run(SpringBootRestfulApplication.class, args);
        }
    
    }
    
    

    运行结果

    RESTful(一种架构风格)

    REST ( Representational State Transfer ) 指的是一组架构约束条件和规范。

    满足这些约束条件和规范的应用程序就是 RESTful。

    REST的核心是面向资源,降低开发的复杂性,提高系统的可伸缩性。

    REST提出设计概念和准则为:

    网络上的所有事物都可以被抽象为资源 每个资源都有唯一的资源标识,对资源的操作不会改变这些标识 统一接口,所有的数据的元操作,即CRUD

    GET (SELECT):从服务器取出资源 (一项或多项)。

    POST (CREATE):在服务器新建一个资源。

    PUT (UPDATE):在服务器更新资源 (客户端提供完整资源数据)。

    PATCH (UPDATE):在服务器更新资源 (客户端提供需要修改的资源数据)。

    DELETE (DELETE):从服务器删除资源。

    1.Rest与Restful

    1).REST(Representational State Transfer) 表现状态转换【架构样式的网络系统】

    2).RESTFUL是一种网络应用程序的设计风格和开发方式

    3).REST指的是一组架构约束条件和原则。满足这些约束条件和原则的应用程序或设计就是Restful

    2.Restful特点

    1).每一个URI代表1种资源;

    2).CRUD(POST GET PUT DELETE)

    3).通过操作资源的表现形式来操作资源

    4).资源的表现形式是XML或者HTML

    5).客户端与服务端之间的交互在请求之间是无状态的,从客户端到服务端的每个请求都必须包含理解请求所必需的信息

    3.Restful使用*

    1).URL设计

    A).动宾结构(动词+宾语[名词])

    GET 获取 安全

    POST 创建 不安全

    PUT[PATCH] 更新【X-HTTP-Method-Override】 不安全

    DELETE 删除【X-HTTP-Method-Override】 不安全

    B).使用

    GET : /users - 获取用户列表

    GET : /users/1 - 获取 Id 为 1 的用户

    POST : /users - 创建一个用户

    PUT : /users/1 - 替换 Id 为 1 的用户

    PATCH : /users/1 - 修改 Id 为 1 的用户

    DELETE : /users/1 - 删除 Id 为 1 的用户

    4.概念*

    1).SOA : 面向服务的架构 【组件模型】【将服务通过定义良好的接口和契约联系起来】

    2).SOAP : 简单对象访问协议 一种数据交换协议规范,是一种轻量的、简单的、基于XML的协议的规范

    3).RPC : 远程过程调用协议 从一台机器(客户端)上通过参数传递的方式调用另一台机器(服务器)上的一个函数或方法(服务)并得到返回的结果【调用本地函数/方法一样去调用远程的函数/方法】

    4).微服务:

    A).独立的进程的方式存在,互相之间并无影响

    B).接口方式更加通用化

    C).倾向于分布式去中心化的部署方式,在互联网业务场景下更适合

  • 相关阅读:
    汇编代码中db,dw,dd的区别
    利用汇编详解栈结构
    80X86指令总结
    【原创】自己动手写的一个查看函数API地址的小工具
    【初学破解】暴力破解绕过程序认证
    OD基本汇编指令
    排序算法
    数据聚类算法-K-means算法
    数据预测算法-ARIMA预测
    数据预测算法-指数平滑法-1
  • 原文地址:https://www.cnblogs.com/d534/p/15402301.html
Copyright © 2020-2023  润新知