首页 > 其他分享 >Swagger测试Restful API

Swagger测试Restful API

时间:2023-01-30 14:04:03浏览次数:40  
标签:return ResultCommon API user import ResultCode Swagger Restful id

swagger出现背景

我们构建Restful API的目的通常都是由于多终端的原因,这些终端会共用很多底层业务逻辑,因此我们会抽象出这样一层来同时服务于多个移动端或者Web前端,不同端由不同的团队或者小组负责,为了减少与其他团队平时开发期间的频繁沟通成本,传统做法我们会创建一份Restful API文档来记录所有接口细节,但是,由于接口多且复杂,这样的做法是很难执行的,且效果差。

而Swagger2可以轻松的整合到Spring Boot中,既可以减少我们创建文档的工作量,同时说明内容又整合入实现代码中,让维护文档和修改代码整合为一体,可以让我们在修改代码逻辑的同时方便的修改文档说明。另外Swagger2也提供了强大的页面测试功能来调试每个RESTful API。

 

Spring Boot集成swagger

待补充

 

修改Controller层

package com.qzcsbj.demo.controller;

import com.qzcsbj.demo.commons.ResultCode;
import com.qzcsbj.demo.commons.ResultCommon;
import com.qzcsbj.demo.mapper.UserMapper;
import com.qzcsbj.demo.pojo.User;
import com.qzcsbj.demo.service.UserService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;

/**
* @公众号 : 全栈测试笔记

* @描述 : <>
*/
@Api(tags = {"用户操作"})
@RestController
@RequestMapping("/v2")
public class UserController {
@Autowired
UserService userService;

// restful api:增
@ApiOperation(value = "添加用户", notes = "添加一个用户")
@PostMapping("/users")
public ResultCommon add(User user){
int n = userService.add(user);
if (n>0){
return ResultCommon.success(ResultCode.SUCCESS);
} else {
return ResultCommon.fail(ResultCode.FAIL);
}
}

// restful api:删
@ApiOperation(value = "根据id删除用户", notes = "根据id删除一个用户")
@DeleteMapping("/users/{id}")
public ResultCommon delete(@PathVariable("id") Integer id){
int n = userService.delete(id);
if (n>0){
return ResultCommon.success(ResultCode.SUCCESS);
} else {
return ResultCommon.fail(ResultCode.FAIL);
}
}

// restful api:改
@ApiOperation(value = "修改用户", notes = "根修改用户信息")
@PutMapping("/users")
public ResultCommon update(User user){
int n = userService.update(user);
if (n>0){
return ResultCommon.success(ResultCode.SUCCESS);
} else {
return ResultCommon.fail(ResultCode.FAIL);
}
}

// restful api:查
@ApiOperation(value = "根据id获取用户", notes = "根据id获取用户信息")
@GetMapping("/users/{id}")
// @RequestMapping(value = "/user/{id}", method=RequestMethod.GET)
public ResultCommon findById(@PathVariable("id") Integer id){
User user = userService.findById(id);
return ResultCommon.success(ResultCode.SUCCESS, user);
}

// restful api:查所有
@ApiOperation(value = "获取用户列表", notes = "获取所有用户")
@GetMapping("/users")
public ResultCommon findAll(){
List<User> users = userService.findAll();
return ResultCommon.success(ResultCode.SUCCESS, users);
}
}

 

效果

访问:http://localhost:8082/swagger-ui.html,端口根据实际情况修改即可。

 

Swagger测试Restful API_java

 

swagger上进行测试

这样就可以不用postman或者jmeter测试了

没有前端,可以通swagger模拟前端进行测试

 

id是自增的不用填,addtime是通过函数获取的也不用填

Swagger测试Restful API_User_02

 

Swagger测试Restful API_java_03

 

数据库中新增成功

Swagger测试Restful API_API_04

 

Swagger测试Restful API_java_05

 

Swagger测试Restful API_API_06

 

数据库中删除成功

Swagger测试Restful API_API_07

 

修改前

Swagger测试Restful API_java_08

 

Swagger测试Restful API_User_09

 

Swagger测试Restful API_API_10

 

修改后

Swagger测试Restful API_User_11

 

Swagger测试Restful API_User_12

 

Swagger测试Restful API_java_13

 

查所有

Swagger测试Restful API_java_14

 

Swagger测试Restful API_User_15

 


__EOF__


本文作者:持之以恒(韧)




标签:return,ResultCommon,API,user,import,ResultCode,Swagger,Restful,id
From: https://blog.51cto.com/qzcsbj/6026264

相关文章

  • 集合框架体系Collection和Map常用API【汇总】
    集合框架体系Collection和Map常用API【汇总】Collection公共的方法Collection是单列结合的顶层接口,它的方法是所有单列集合都可以继承使用的。//把给定元素添加到集......
  • dremio api 简单说明
    以前在简单介绍dremiowebserver的时候提过dremio的api,实际上包含了两大部分,一个是为了bff的(方便前端使用的),一个是独立的restapi方便业务调用的(实际上就是官方文档中看......
  • 都 2203 年了,你还在使用 word 调试 API?
    随着信息技术的发展,API变得无处不在,无处不用。但令人费解的是,都2203年了,竟然还有很多人使用word调试API?一、Word管理APIvs工具管理API不做开发的小伙伴可......
  • 在asp.net core web api中添加efcore使用codefirst
    首先创建webapi项目,我这里使用的版本是.net6  在nuget中添加对应的工具包 红框标出来的是对应的数据库扩展包,mysql用mysql版,sqlserver用sqlserver版,选择正确的版......
  • B/S端界面控件DevExtreme中文使用指南——如何集成第三方框架API
    DevExtreme拥有高性能的HTML5/JavaScript小部件集合,使您可以利用现代Web开发堆栈(包括React,Angular,ASP.NETCore,jQuery,Knockout等)构建交互式的Web应用程序,该套件附带功能......
  • fastapi_socketio_chatroom
    E:\song2\fastapi_socketio_chatroom\app.py#socketioimportsocketio#fastapifromfastapiimportFastAPI,WebSocket,Request,WebSocketDisconnectfromfast......
  • VB6用API实现繁体简体转换
    PrivateDeclareFunctionLCMapStringLib"kernel32"Alias"LCMapStringA"(_   ByValLocaleAsLong,_   ByValdwMapFlagsAsLong,_   ByVallpSrcSt......
  • Kubernetes监控手册06-监控APIServer
    写在前面如果是用的公有云托管的Kubernetes集群,控制面的组件都交由云厂商托管的,那作为客户的我们就省事了,基本不用操心APIServer的运维。个人也推荐使用云厂商这个服......
  • monaco编辑器的基础api使用
    目录添加js/ts扩展库添加js扩展库添加ts扩展库添加js/ts扩展库添加js扩展库1.使用addExtraLibfilePath同名会覆盖monaco.languages.typescript.javascriptDefaults.ad......
  • Apipost和Apifox网上说了这么多,今天我们亲自测评!
    百闻不如一试,网络上铺天盖地的文章,各说各的好,其实这样很容易误导我们这些想采用他们私有化的团队,apipost和apifox都是我们想采用私有化的API管理工具,但是这几天搜了一圈,感觉......