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

swagger测试Restful API

时间:2023-01-24 15:34:35浏览次数:59  
标签:com ResultCommon API 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;

/**
 * @公众号 : 全栈测试笔记
 * @博客 : www.cnblogs.com/uncleyong
 * @微信 : ren168632201
 * @描述 : <>
 */
@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上进行测试

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

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

 

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

 

 

数据库中新增成功

 

 

 

数据库中删除成功

 

修改前

 

 

 

修改后

 

 

 

查所有

 

 

【bak】

原文会持续更新,原文地址:https://www.cnblogs.com/uncleyong/p/17065992.html

 

标签:com,ResultCommon,API,import,ResultCode,swagger,Restful,id
From: https://www.cnblogs.com/uncleyong/p/17065992.html

相关文章

  • win32com操作word API精讲 第六集 Range(四)对齐和缩进
    本课程《win32com操作wordAPI精讲&项目实战》同步在B站、今日头条、视频号及本公众号发布。其中本公众号以发布文字教程为主。今天是大年初二,一灯在此祝愿各位朋友兔年......
  • Python3配合Django来调用钉钉在线api实时监测员工考勤打卡情况
    基本上钉钉(dingding)作为一个远程办公平台来用的话,虽然差强人意,但是奈何市面上没有啥更好的选择,矬子里拔将军,也还是可以凑合用的,不过远程办公有个问题,就是每天需要检查员......
  • SpringBoot开发Restful API及使用jmeter测试
     Restful API简介Representational State Transfer,简称为REST, 即表现层状态转化,简单来说,客户端通过HTTP方法对服务器的资源进行操作, 实现表现层状态转化GET:获取......
  • arcgis api for 自定义zoom
    1.需求自定义UI,实现对地图的zoom操作,在view缩放的时候,带动画效果2.分析问题UI视图一般情况,可能大部分初学者会使用以下代码对zoom进行操作,这个方法是可以放大缩小,但是动画是......
  • Vue3中的异步组件defineAsyncComponentAPI的用法示例
    介绍当我们的项目达到一定的规模时,对于某些组件来说,我们并不希望一开始全部加载,而是需要的时候进行加载;这样的做得目的可以很好的提高用户体验。为了实现这个功能,Vue3中为我......
  • dremio api 简单说明
    以前在简单介绍dremiowebserver的时候提过dremio的api,实际上包含了量大部分,一个是为了bff的(方便前端使用的),一个是独立的restapi方便业务调用的(实际上就是官方文档中看......
  • mt_Day7: 多态、内部类、一些常用API
    多态同类型对象,执行同一个行为,会表现出不同的特征多态成员访问特点:方法调用:编译看左边,运行看右边变量调用:编译看左边,运行也看左边(多态侧重行为多态)publicabstrac......
  • c/c++ mysql api函数
    一、常用APImysql_affected_rows()返回上次UPDATE、DELETE或INSERT查询更改/删除/插入的行数。mysql_autocommit()切换autocommit模式,ON/OFFmysql_change_user()......
  • API(Objects)
    Objects是一个对象工具类,提供了一些操作对象的方法equals(对象1,对象2),先做非空判断,在比较两个对象//1:objects.equals(对象名1,对象名2)用来先做非空判断,比较两个对象boolean......
  • API(克隆)
    克隆分为浅克隆和深克隆浅克隆:不管对象内部的属性是基本数据类型还是引用数据类型,都完全拷贝,object类中的克隆是浅克隆深克隆:基本数据类型拷贝过来,字符串复用,引用数据类......