前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >RESTful接口设计风格

RESTful接口设计风格

作者头像
砒霜拌辣椒
发布2023-08-23 17:25:40
1350
发布2023-08-23 17:25:40
举报
文章被收录于专栏:HerculesHercules

什么是RESTful风格

  • 通过URL进行资源的定位,用HTTP动作(GET、POST、DELETE、PUSH)描述操作,完成功能。
  • 遵循RESTful风格,可以使开发的接口通用性更好,统一规范,减少沟通、学习和开发的成本。

1、HTTP方法与CRUD动作的映射

动作

普通CRUD的URL

Restful的URL

Restful对应的HTTP方法

查询

Article?id=1

Article/{id}

GET

添加

Article?title=xxx&body=xxx

Article

POST

修改

Article/update?id=1

Article/{id}

PUT/PATCH

删除

Article/delete?id=1

Article/{id}

DELETE

其中PUTPATCH比较相似,都是做更新操作。PUT一般用于全部修改进行替换操作,PATCH用于更新部分字段(资源)操作。

2、RESTful API

2.1、查询列表
代码语言:javascript
复制
@RequestMapping(value = "/ArticleList", method = RequestMethod.GET)
public List<Article> getArticleList() {
    List<Article> articleList = articleRepository.findAll();
    return articleList;
}
2.2、增加内容
代码语言:javascript
复制
@RequestMapping(value = "/Article", method = RequestMethod.POST)
public String addArticle(Article article) {
    articleRepository.save(article);
    return "success";
}
2.3、删除内容
代码语言:javascript
复制
@RequestMapping(value = "/Article/{id}", method = RequestMethod.DELETE)
public String deleteArticle(@PathVariable("id") long id) {
    articleRepository.deleteById(id);
    return "success";
}
2.4、修改内容
代码语言:javascript
复制
@RequestMapping(value = "/Article/{id}", method = RequestMethod.PUT)
public String updateArticle(Article model) {
    articleRepository.save(model);
    return "success";
}
2.5、查询内容
代码语言:javascript
复制
@RequestMapping(value = "/Article/{id}", method = RequestMethod.GET)
public Article findArticle(@PathVariable("id") long id) {
    Article article = articleRepository.findById(id);
    return article;
}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-10-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、HTTP方法与CRUD动作的映射
  • 2、RESTful API
    • 2.1、查询列表
      • 2.2、增加内容
        • 2.3、删除内容
          • 2.4、修改内容
            • 2.5、查询内容
            相关产品与服务
            Serverless HTTP 服务
            Serverless HTTP 服务基于腾讯云 API 网关 和 Web Cloud Function(以下简称“Web Function”)建站云函数(云函数的一种类型)的产品能力,可以支持各种类型的 HTTP 服务开发,实现了 Serverless 与 Web 服务最优雅的结合。用户可以快速构建 Web 原生框架,把本地的 Express、Koa、Nextjs、Nuxtjs 等框架项目快速迁移到云端,同时也支持 Wordpress、Discuz Q 等现有应用模版一键快速创建。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档