当前位置: 首页 > article >正文

RestFul URL

基本概念

模型 - 视图 - 控制器(MVC)是⼀个众所周知的以设计界⾯应⽤程序为基础的设计思想。

Restful ⻛格的 API 是⼀种软件架构⻛格,设计⻛格⽽不是标准,只是提供了⼀组设计原则和约束条 件。它主要⽤于客户端和服务器交互类的软件。基于这个⻛格设计的软件可以更简洁,更有层次,更易 于实现缓存等机制。 在Restful ⻛格中,⽤户请求的 url 使⽤同⼀个 url,⽤请求⽅式:getpostdeleteput...等⽅式对请 求的处理⽅法进⾏区分,这样可以在前后台分离式的开发中使得前端开发⼈员不会对请求的资源地址产 ⽣混淆和⼤量的检查⽅法名的麻烦,形成⼀个统⼀的接⼝。 在 Restful ⻛格中,现有规定如下:

  • GETSELECT):从服务器查询,可以在服务器通过请求的参数区分查询的⽅式。
  • POSTCREATE):在服务器端新建⼀个资源,调⽤ insert 操作。
  • PUTUPDATE):在服务器端更新资源,调⽤ update 操作。
  • PATCHUPDATE):在服务器端更新资源(客户端提供改变的属性)。(⽬前 jdk7 未实现,tomcat7 不⽀持)
  • DELETEDELETE):从服务器端删除资源,调⽤ delete 语句。

URL 映射地址配置:

1. Get 请求配置

/**

* restful --> get 请求,执⾏查询操作

* @param id

* @return

*/

@GetMapping("account/{id}")

@ResponseBody

public Account queryAccountById(@PathVariable Integer id){

return accountService.selectById(id);

}

2. Delete 请求配置

/* restful-->delete 请求 执⾏删除操作

* @param id

* @return

*/

@DeleteMapping("account/{id}")

@ResponseBody

public Map<String,Object> deleteAccount(@PathVariable Integer id){

int result = accountService.delAccount(id);

Map<String,Object> map=new HashMap<String,Object>();

if(result == 1 ){

map.put("msg","success");

map.put("code",200);

} else {

map.put("msg","error");

map.put("code",500);

}

return map;

}

3. Post 请求配置

/* restful --> post 请求,执⾏添加操作

* @return

*/

@PostMapping("account")

@ResponseBody

public Map<String,Object> saveAccount(@RequestBody Account account){

int result = accountService.saveAccount(account);

Map<String,Object> map=new HashMap<String,Object>();

if(result == 1 ){

map.put("msg","success");

map.put("code",200);

} else {

map.put("msg","error");

map.put("code",500);

}

return map;

}

4. Put 请求配置

/* restful-->put 请求执⾏更新操作

* @param id

* @param account

* @return

*/

@PutMapping("account")

@ResponseBody

public Map<String,Object> updateAccount(@RequestBody Account account){

int result = accountService.updateAccount(account);

Map<String,Object> map=new HashMap<String,Object>();

if(result == 1 ){

map.put("msg","success");

map.put("code",200);

} else {

map.put("msg","error");

map.put("code",500);

}

return map;

}


http://www.kler.cn/a/394908.html

相关文章:

  • 探索MoviePy:Python视频编辑的瑞士军刀
  • 一文窥见神经网络
  • DOCKER 镜像基础命令
  • 基于海思soc的智能产品开发(两个图像处理来源)
  • JVM 中的完整 GC 流程
  • Qwen2-VL:发票数据提取、视频聊天和使用 PDF 的多模态 RAG 的实践指南
  • gitlab-development-kit部署gitlab《二》
  • 期权懂|请问如何用期权进行风险管理?
  • RabbitMQ 全面解析:语法与其他消息中间件的对比分析
  • Python 编程入门指南(一)
  • GitHub Org
  • 图形 2.7 LDR与HDR
  • css文字间距撑满横向距离
  • 力扣513:找树左下角的值
  • A030-基于Spring boot的公司资产网站设计与实现
  • 单片机和FPGA有什么区别?
  • PCL 点云分割 Ransac分割3D球体
  • ubuntu更改max_map_count
  • jmeter常用配置元件介绍总结之定时器
  • 基于微信小程序的养老院管理系统的设计与实现,LW+源码+讲解
  • Ubuntu 24.04 安装 JDK 21
  • 【NLP】使用 PyTorch 从头构建自己的大型语言模型 (LLM)
  • 【ChatGPT】 让ChatGPT模拟客户服务对话与应答策略
  • 使用docker-compose单点搭建社区版seafile+onlyoffice在线word编辑平台
  • 【FreeRL】MAPPO的简单复现
  • 《基于Oracle的SQL优化》读书笔记