返回顶部
首页 > 资讯 > 前端开发 > html >restful接口规范与postman调试工具实例分析
  • 282
分享到

restful接口规范与postman调试工具实例分析

2024-04-02 19:04:59 282人浏览 独家记忆
摘要

这篇“restful接口规范与postman调试工具实例分析”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们

这篇“restful接口规范与postman调试工具实例分析”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“restful接口规范与postman调试工具实例分析”文章吧。

1.什么是RESTful?

REST:是WEB服务的一种架构风格;使用Http,URI,XML,JSON,html等广泛流行的标准和协议;轻量级,跨平台,跨语言的架构设计;它是一种设计风格,不是一种标准,是一种思想。

RESTful:对应的中文是rest式的;Restful web service是一种常见的rest的应用,是遵守了rest风格的web服务;rest式的web服务是一种ROA(The Resource-Oriented Architecture)(面向资源的架构)

RESTful的本质是一种软件构架风格,核心是面向资源,解决的问题:

  • 降低开发的复杂性

  • 提高系统的可伸缩性

2.SOAP和REST的区别:
SOAP (Simple Object Access Protocol):交换数据一种协议规范,是一种轻量的、简单的、基于XML的协议。
REST (Representational State Transfer):一种软件架构风格,可以降低开发的复杂性,提高系统的可伸缩性。

效率和易用性
SOAP:由于各种需求不断扩充其本身协议的内容,导致在SOAP处理方面的性能有所下降。同时在易用性方面以及学习成本上也有所增加。
RESTful:由于其面向资源接口设计以及操作抽象简化了开发者的不良设计,同时也最大限度的利用了Http最初的应用协议设计理念。

安全性
RESTful对于资源型服务接口来说很合适,同时特别适合对于效率要求很高,但是对于安全要求不高的场景。
SOAP的成熟性可以给需要提供给多开发语言的,对于安全性要求较高的接口设计带来便利。
总之:
安全性: SOAP会好于REST;
效率和易用性: REST更胜一筹;
成熟度:总的来说SOAP在成熟度上优于REST。

3.如何设计RESTful API
资源路径:在RESTful架构中,每个网址代表一种资源,所以网址中不能有动词,只能有名词。一般来说api中的名词应该使用复数。

HTTP动词:对于资源的操作( CURD ) ,由HTTP动词(谓词)表示。

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

  • POST:在服务器新建一个资源。

  • PUT:在服务器更新资源(客户端提供改变后的完整资源)。

  • DELETE :从服务器删除资源。

我们以动物园(zoo)举个例子(包括各种动物和雇员的信息):

https://api.example.com/v1/zoos //动物园资源
https://api.example.com/v1/animals //动物资源
https://api.example.com/v1/employees //雇员资源
  • POST /zoos :新建一个动物园

  • GET /zoos/ID :获取某个指定动物园的信息

  • PUT /zoos/ID:更新某介指定动物园的信息

  • DELETE /zoos/D:删除某个动物园

过滤信息

  • ?limit=10:指定返回记录的数量

  • ?offset=10:指定返回记录的开始位置。

  • ?page=2&per_page=100:指定第几页,以及每页的记录数。

  • ?sortby=name&order=asc:指定返回结果按照哪个属性排序,以及排序顺序。

  • ?animal_type_id=1:指定筛选条件

状态码

  • 200 (OK)-如果现有资源已被更改

  • 201 ( created )-如果新资源被创建

  • 202 ( accepted )-已接受处理请求但尚未完成(异步处理)

  • 301 (Moved Permanently )-资源的URI被更新

  • 303 ( See Other )-其他(如,负载均衡)

  • 400 ( bad request )-指代坏请求

  • 404 (not found )-资源不存在

  • 406 (not acceptable )-服务端不支持所需表示

  • 409 (conflict)-通用冲突

  • 412 (Precondition Failed )-前置条件失败(如执行条件更新时的冲突)

  • 415 (unsupported media type )-接受到的表示不受支持

  • 500 (internal server error )-通用错误响应

  • 503 (Service Unavailable )-服务当前无法处理请求

错误处理
返回的信息中将error作为键名,出错信息作为键值。

{
 error: “Invalid API key”
 }

返回结果

  • GET /collection:返回资源对象的列表(数组

  • GET /collection/resource:返回单个资源对象

  • POST /collection:返回新生成的资源对象

  • PUT /collection/resource:返回完整的资源对象

  • PATCH /collection/resource:返回完整的资源对象

  • DELETE /collection/resource:返回一个空文档

4.REST风格的接口测试流程
我们直接用一张图来介绍吧
restful接口规范与postman调试工具实例分析5.代码编写和Postman测试
工具:ideaMysql数据库,Postman
数据库表数据:
restful接口规范与postman调试工具实例分析
实体类:

@Data
@ApiModel("用户实体类")
public class User extends Model<User> implements Serializable {
    @ApiModelProperty("用户id")
    @NotNull(message = "用户id不能为空")
    private Integer id;

    @NotBlank(message = "用户名不能为空")
    @ApiModelProperty("用户名")
    private String name;

    @Min(1)
    @Max(100)
    @ApiModelProperty("用户年龄")
    private Integer age;

    @NotEmpty(message = "邮箱不能为空")
    @ApiModelProperty("用户邮箱")
    @Email
    private String email;

    @ApiModelProperty("0:未删除 1:已删除")
    @TableLogic
    private Integer deleted;

    @NotBlank(message = "密码不能为空")
    @ApiModelProperty("用户密码")
    private String passWord;
    }

controller层的代码(service层省略):

@Api(tags = "用户管理")
@RestController
@RequestMapping("/MyWebsite/user")
public class UserController {
    @Autowired
    private UserServiceImpl userServiceimpl;

   @ApiOperation(value = "新增用户")
    @PostMapping
    public int insertUser(User user) {

        System.out.println("新增成功");

        return userServiceimpl.insertUser(user);
    }

    @ApiOperation(value = "修改用户信息")
    @PutMapping
    public void updateUser(@RequestBody @Valid User user) {

        userServiceimpl.updateUser(user);

        System.out.println("修改成功");
    }

    @ApiOperation(value = "删除用户", notes = "根据id删除用户")
    @DeleteMapping("/{id}")
    public int deleteUser(@ApiParam("用户id") @PathVariable @Valid Integer id) {

        System.out.println("删除成功");

        return userServiceimpl.deleteUser(id);
    }

    @ApiOperation(value = "查询所有用户")
    @GetMapping
    public List<User> allUser() {

        System.out.println("查询成功");

        return userServiceimpl.allUser();
    }

    @ApiOperation(value = "id查询用户")
    @GetMapping("/{id}")
    public User selectById(@PathVariable("id") String id) {
        return userServiceimpl.selectById(id);
    }
}

利用Postman测试(url路径要对应上):
查询所有用户:http://localhost:8081/MyWebsite/user
Header:Content-Type=application/json
Body:空
restful接口规范与postman调试工具实例分析
查询成功!
根据id查询:
restful接口规范与postman调试工具实例分析
查询成功!
新增用户
restful接口规范与postman调试工具实例分析
查看数据库新增成功!
restful接口规范与postman调试工具实例分析
修改用户信息(修改id为7的姓名和年龄):
restful接口规范与postman调试工具实例分析
查看数据库修改成功!
restful接口规范与postman调试工具实例分析
根据id删除用户
restful接口规范与postman调试工具实例分析
查看数据库删除成功!(deleted=1)
可能你的是直接删除了整一条数据
restful接口规范与postman调试工具实例分析
当查询或更新或删除不存在的数据时(或者数据不合法),都是执行失败的
还有其他接口,例如删除所有等接口,这里不一一测试了

以上就是关于“restful接口规范与postman调试工具实例分析”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网html频道。

--结束END--

本文标题: restful接口规范与postman调试工具实例分析

本文链接: https://lsjlt.com/news/98547.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • restful接口规范与postman调试工具实例分析
    这篇“restful接口规范与postman调试工具实例分析”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们...
    99+
    2024-04-02
  • golang 函数调试和分析工具的适用范围
    go 函数调试和分析工具的适用范围包括:调试工具(delve、gdb)、分析工具(pprof、pprof.io、gocover)。这些工具可用于解决死锁问题(使用 delve 逐步执行并...
    99+
    2024-05-07
    分析 golang debug
  • golang 函数调试与分析工具的陷阱与回避
    Go 函数调试与分析工具的陷阱与规避 在 Go 应用程序中进行调试和分析时,有许多有用的工具可供使用,例如:pprof、gotrace和go tool trace。然而,这些工具的使用...
    99+
    2024-05-06
    调试 golang
  • javascript变量的声明与命名规范实例分析
    本篇内容主要讲解“javascript变量的声明与命名规范实例分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“javascript变量的声明与命名规范实例分析...
    99+
    2024-04-02
  • Java抽象类与接口实例分析
    这篇“Java抽象类与接口实例分析”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Java抽象类与接口实例分析”文章吧。1.抽...
    99+
    2023-06-30
  • 微信JS接口签名校验工具的示例分析
    这篇文章给大家分享的是有关微信JS接口签名校验工具的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1、微信 JS 接口签名校验工具2、具体开发2.1 获取access_t...
    99+
    2024-04-02
  • Java的Synchronized原理与Callable接口实例分析
    这篇“Java的Synchronized原理与Callable接口实例分析”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Ja...
    99+
    2023-06-29
  • jQuery中extend()与工具方法、实例方法的示例分析
    这篇文章主要介绍jQuery中extend()与工具方法、实例方法的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!具体如下:使用jQuery的时候会发现,jQuery中有的函...
    99+
    2024-04-02
  • 如何实现MySQL底层优化:性能测试和调优工具的高级使用与分析
    如何实现MySQL底层优化:性能测试和调优工具的高级使用与分析引言MySQL是一种常用的关系型数据库管理系统,广泛应用于各种Web应用和大型软件系统中。为了确保系统的运行效率和性能,我们需要进行MySQL的底层优化。本文将介绍如何使用性能测...
    99+
    2023-11-08
    性能测试 调优工具 MySQL底层优化
  • elasticsearch构造Client实现java客户端调用接口示例分析
    目录client的继承关系方法实现上以index方法为例execute方法代码总结:elasticsearch通过构造一个client对外提供了一套丰富的java调用接口。总体来说c...
    99+
    2024-04-02
  • Java的单例模式与final及抽象类和接口实例分析
    这篇文章主要介绍“Java的单例模式与final及抽象类和接口实例分析”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Java的单例模式与final及抽象类和接口实例分析”文章能帮助大家解决问题。1....
    99+
    2023-06-30
  • PHP支付宝支付函数全攻略:curl、xml、md5等函数的支付宝支付接口调用实例分析
    PHP支付宝支付函数全攻略:curl、xml、md5等函数的支付宝支付接口调用实例分析支付宝是广泛使用的在线支付平台,许多网站和应用都需要集成支付宝支付功能。在PHP中,我们可以使用一些函数来调用支付宝的支付接口,实现支付功能的集成。本文将...
    99+
    2023-11-18
    xml MD PHP支付宝支付函数全攻略:curl 接口调用实例分析
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作