首页 > 其他分享 >REST风格简介

REST风格简介

时间:2023-07-28 22:44:05浏览次数:41  
标签:http users 简介 REST 风格 user id localhost RequestMapping

REST风格的表现形式转化

  • 传统风格资源描述形式

  • REST风格描述形式

  • 优点

    • 隐藏资源的访问行为,无法通过地址得知对资源是何种操作

    • 书写简化

  • 按照REST风格访问资源时使用行为动作区分

  • 步骤

    • @RequestMapping的属性
      1. value(默认): 设置请求访问路径
      2. method:http请求动作,标准动作(GET/POST/PUT/DELETE)
    • 设定http请求动作
      1. @RequestMapping(value = "/users",method = RequestMethod.POST)
      2. @GetMapping @PostMapping @PutMapping @DeleteMapping
    • 设定请求参数
      1. @RequestMapping(value = "/users/{id}",method = RequestMethod.DELETE)
      2. @GetMapping("/{id}")
      3. @PathVariable 绑定路径参数与形参名
      4. @RequestBody 用于接收JSON数据
      5. @RequestParam 用户接收url地址传参或表单传参
  • 案例

@RestController
@RequestMapping("/users")
public class UserController {
    //@RequestMapping(value = "/users",method = RequestMethod.POST)
    @PostMapping
    public String save(@RequestBody User user){
        System.out.println("user save ..."+ user);
        return "{'module':user save}";
    }

    //@RequestMapping(value = "/users/{id}",method = RequestMethod.DELETE)
    @DeleteMapping("/{id}")
    public String delete(@PathVariable Integer id){
        System.out.println("user delete ..."+ id);
        return "{'module':user delete}";
    }

    //@RequestMapping(value = "/users",method = RequestMethod.PUT)
    @PutMapping
    public String update(@RequestBody User user){
        System.out.println("user update ..."+ user);
        return "{'module':user update}";
    }

    //@RequestMapping(value = "/users/{id}",method = RequestMethod.GET)
    @GetMapping("/{id}")
    public String getById(@PathVariable Integer id){
        System.out.println("user getById ..."+ id);
        return "{'module':user getById}";
    }

    //@RequestMapping(value = "/users",method = RequestMethod.GET)
    @GetMapping
    public String getAll(){
        System.out.println("user getAll ...");
        return "{'module':user getAll}";
    }
}

标签:http,users,简介,REST,风格,user,id,localhost,RequestMapping
From: https://www.cnblogs.com/-xyk/p/17589053.html

相关文章

  • iOS 应用上架的步骤和工具简介
      编辑 APP开发助手是一款能够辅助iOSAPP上架到AppStore的工具,它解决了iOSAPP上架流程繁琐且耗时的问题,帮助跨平台APP开发者顺利将应用上架到苹果应用商店。最重要的是,即使没有配置Mac苹果机,也可以使用该工具完成一系列操作,包括iOS证书申请、创建iOS开发者证书和iOS发......
  • Bootloader之uBoot简介
    一、Bootloader的引入从前面的硬件实验可以知道,系统上电之后,需要一段程序来进行初始化:关闭WATCHDOG、改变系统时钟、初始化存储控制器、将更多的代码复制到内存中等等。如果它能将操作系统内核(无论从本地,比如Flash;还是从远端,比如通过网络)复制到内存中运行,就称这段程序为Bootloa......
  • Android NFC简介
    目录:AndroidNFC1 简介1.1 什么是 NFC1.2Android 上的 NFC1.3Android 中的 NFC 通讯机制2 用法2.1 读取 tag2.2 发送消息2.2.1 发送过程2.2.2NDEF 消息格式1 简介1.1 什么是 NFC近场通讯 (NearFiledCommunication) 技术是一种近距离的高频无线......
  • Redis 简介
    1、问题:2、Redis介绍2.1 redis是什么?2.2那Redis不是什么?2.3 Redis性能:2.4 Redis的功能:3、数据结构3.1Key3.2String3.3Hash3.4List3.5Set3.6SortedSet3.7事务3.8过期数据清除4、redis排序简介4.1 以下是对list按key排序的示例:4.2 一般SORT用法4.3 ......
  • Linux-简介
    1Linux学习环境搭建1.1虚拟化介绍#win机器----》装一个虚拟化软件----》虚拟化出linux操作系统#kvmvmwareopenstackdockerk8s#kvmvmware虚拟化软件-运行在linux上,做虚拟化的软件-vmware运行在win,linux,商业软件,收费#openstack kvm虚拟化很多机器......
  • iptables-restore
    iptables-restore还原iptables表的配置补充说明iptables-restore命令用来还原iptables-save命令所备份的iptables配置。语法iptables-restore(选项)选项-c:指定在还原iptables表时候,还原当前的数据包计数器和字节计数器的值;-t:指定要还原表的名称。实例iptables-restor......
  • API架构的选择,RESTful、GraphQL还是gRPC
    API架构的选择,RESTful、GraphQL还是gRPC hi,我是熵减,见字如面。在现代的软件工程中,微服务或在客户端与服务端之间的信息传递的方式,比较常见的有三种架构设计的风格:RESTful、GraphQL和gRPC。每一种模式,都有其特点和合适的使用场景,今天,我们主要来对三种风格做一个深入的理解......
  • 15c2风格
    C2架构的基本规则(层次型架构风格)1,每个构件和连接件都有一个顶部和一个底部2、构件和连接件以首尾方式相连3、一个连接件可以和任意数目的其他构件和连接件相连4、两个连接件相连也是以首尾方式相连首尾方式:一个的顶部和另一个的底部。......
  • 13仓库风格
    仓库风格以数据为中心几个子系统:数据库系统、黑板系统:语音识别、知识推理超文本系统。重点讲黑板系统:黑板用于记录数据,也是一个共享数据交换数据的节点。仓库风格是在数据库之上加了触发机制。仓库风格子分类:黑板系统:优点,可更改性、维护性、可重用性、容错性、健壮性 ......
  • FreeMarker简介及教程
    FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯Java编写 FreeMarker被设计用来生成HTMLWeb页面,特别是基于MVC模式的应用程序 虽然FreeMarker具有一些编程的能力,但通常由Java程序准备要显示的数据,由FreeMarker生成页面,通过模板显示准备的数据(如下图) FreeMar......