RESTFUL风格和传统访问方式区别

很多RESTFUL风格的访问地址都是一样的,只是行为动作区分了,对外隐藏了真实操作

代码示例

复制代码
/**
 * @author hrui
 * @date 2024/8/9 14:26
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class Book {
    private Integer id;
    private String name;
}

package com.example.demo1.controller;

import com.example.demo1.pojo.Book;
import org.springframework.web.bind.annotation.*;

/**
 * @author hrui
 * @date 2024/8/8 22:53
 */
@RestController
@RequestMapping("/books")
public class TestController {

    @GetMapping("/{id}")
    public String getBookById(@PathVariable Integer id){
        return "获得Id为 " + id+ " 的图书";
    }


    @GetMapping("/{id}/{name}")
    public String getBookByIdAndName(@PathVariable Integer id,@PathVariable String name){
        return "获得Id为 " + id+ " 的图书,name为"+name;
    }

    @GetMapping("")
    public String getAllBooks(){
        return "获得所有图书";
    }


    @PostMapping("")
    public String saveBook(@RequestBody Book book){
        return "新增图书成功";
    }


    @PutMapping("")
    public String updateBook(@RequestBody Book book){
        return "修改图书成功";
    }


    @DeleteMapping("/{id}")
    public String deleteBook(@PathVariable Integer id){
        return "删除id为 "+id+" 图书成功";
    }

}
相关推荐
optimistic_chen16 小时前
【Java EE进阶 --- SpringBoot】Spring DI详解
spring boot·笔记·后端·spring·java-ee·mvc·di
Java水解16 小时前
【MySQL】数据库基础
后端·mysql
中国胖子风清扬16 小时前
Rust 日志库完全指南:从入门到精通
spring boot·后端·rust·学习方法·logback
玉衡子16 小时前
MySQL基础架构全面解析
数据库·后端
郭京京17 小时前
goweb内置的 net/http 包
后端·go
dylan_QAQ17 小时前
Java转Go全过程06-工程管理
java·后端·go
用户40993225021217 小时前
如何用FastAPI玩转多模块测试与异步任务,让代码不再“闹脾气”?
后端·ai编程·trae
考虑考虑17 小时前
Postgerssql格式化时间
数据库·后端·postgresql
Chan1618 小时前
【智能协同云图库】基于统一接口架构构建多维度分析功能、结合 ECharts 可视化与权限校验实现用户 / 管理员图库统计、通过 SQL 优化与流式处理提升数据
java·spring boot·后端·sql·spring·intellij-idea·echarts
库库林_沙琪马18 小时前
REST接口幂等设计深度解析
spring boot·后端