Swagger——一个规范和完整的框架,用于接口的文档在线自动生成。

1、描述

Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。

作用:

1.接口的文档在线自动生成。

2.功能测试。

2、运用

a) maven导入Swagger

b) 创建Swagger2配置类

3、注解及其说明

@Api : 用在类上,说明该类的主要作用。

@ApiOperation:用在方法上,给API增加方法说明。

@ApiImplicitParams : 用在方法上,包含一组参数说明。

@ApiImplicitParam:用来注解来给方法入参增加说明。

@ApiResponses:用于表示一组响应。

@ApiResponse:用在@ApiResponses中,一般用于表达一个错误的响应信息

​ l code:数字,例如400

​ l message:信息,例如"请求参数没填好"

​ l response:抛出异常的类

@ApiModel:用在返回对象类上,描述一个Model的信息(一般用在请求参数无法使用@ApiImplicitParam注解进行描述的时候)

​ l @ApiModelProperty:描述一个model的属性

 

@RestController
@RequestMapping("emp") @Api(value = "用户管理类") public class EmployeeController { ​ @Autowired private EmployeeReposiroty employeeReposiroty;
/**
      * 增加人物
      * @param employee
      * @return
      */
 @PostMapping(value = "employee") 

@ApiOperation(value = "新增一个用户",notes = "新增之后返回对象")
//@ApiOperation:用在方法上,给API增加方法说明。
@ApiImplicitParam(paramType = "query",name = "employee",value = "用户",required = true)
//@ApiImplicitParam:用来注解来给方法入参增加说明。
@ApiResponse(code = 400,message = "参数没有填好",response = String.class) public String insert(Employee employee){ Employee employee1 = employeeReposiroty.save(employee); if(employee1 != null) { return SysNode.Judge.SUCCESS.getResult(); }else { return SysNode.Judge.FAILD.getResult(); } }

//@ApiResponse:用在@ApiResponses中,一般用于表达一个错误的响应信息

/**
* 删除单个用户 * @param id * @return */@DeleteMapping(value = "employee/{id}") //两个参数名必须保持一致 @ApiOperation(value = "删除用户",notes = "根据成员id删除单个用户") @ApiImplicitParam(paramType = "path",name = "id",value = "用户id",required = true,dataType = "Integer") @ApiResponse(code = 400,message = "参数没有填好",response = String.class)
public String delete(@PathVariable("id")Integer id)
{ //占位映射符
@PathVariable是spring3.0的一个新功能:接收请求路径中占位符的值
语法:
  • @PathVariable("xxx")
  •  通过 @PathVariable 可以将URL中占位符参数{xxx}绑定到处理器类的方法形参中@PathVariable(“xxx“) 
  • @RequestMapping(value=”user/{id}/{name}”)

     

     

 try{ employeeReposiroty.deleteById(id); return SysNode.Judge.SUCCESS.getResult(); }catch (Exception e){ e.printStackTrace(); return SysNode.Judge.FAILD.getResult(); } } ​ /**   * 修改单个成员 * @param employee * @return */ @PutMapping(value = "employee/{id}") @ApiOperation(value = "修改用户信息",notes = "根据成员id修改单个用户") @ApiImplicitParam(paramType = "path",name = "id",value = "用户id",required = true,dataType = "Integer") public String update(Employee employee){ /** * save方法如果参数属性缺失,会导致原本存在的数据为null */ Employee employee1 = employeeReposiroty.saveAndFlush(employee); if (employee1 != null) { return SysNode.Judge.SUCCESS.getResult(); }else { return SysNode.Judge.FAILD.getResult(); } } ​ /**   * 获取所有成员,升序排列 * @return */ @GetMapping(value = "employee/sort") @ApiOperation(value = "查询全部用户",notes = "默认根据升序查询全部用户信息") public List<Employee> findAll(){ Sort orders = new Sort(Sort.Direction.DESC,"employeeId"); List<Employee> employeeList = employeeReposiroty.findAll(orders); return employeeList; } ​ /**  * 获取所有成员,升序排列 * @return */ @GetMapping(value = "employee/pageSort") @ApiOperation(value = "查询用户信息",notes = "查询用户信息") @ApiImplicitParams({ @ApiImplicitParam

转载于:https://www.cnblogs.com/xtxt1127/p/11505641.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Swagger UI是一款RESTFUL接口文档在线自动生成 功能测试功能软件。       现在多数的项目开发中,网站和移动端都需要进行数据交互和对接,这少不了使用REST编写API接口这种场景。例如有些团队,移动端交由了另一团队开发,不同开发小组之间就需要以规范文档作为标准和协作基础。良好的文档可以让开发事半功倍,而作为又懒又要效率又能交代的码农,当然最希望一 切自动化,或用小聪明来找到最适合的工具。       Swagger-UI简单而一目了然。它能够纯碎的基于html javascript实现,只要稍微整合一下便能成为方便的API在线测试工具。       项目的设计架构中一直提倡使用TDD(测试驱动)原则来开发,swagger-ui在这方面更是能提供很大帮助。 Swagger-UI更倾向于在线测试接口和数据,但其核心是一个javascript插件,只要稍作修改,便能按需求定制出不同格式的说明文档,在github上更是基于它集成到各种语言环境,分支众多。        其官方提供了一个离线版本,它的使用方法十分简单:直接在js格式的资源文件中录入REST API的json信息,便能容易地生成不同模块下的API列表,每个API接口描述和参数、请求方法都能在每个json数组中定制。下面是目前项目中使用到的部分预览图:  Swagger-UI 的官方地址: http://swagger.wordnik.com Github上的项目地址: https://github.com/wordnik/swagger-ui 官方提供的demo地址 http://petstore.swagger.wordnik.com/ 标签:api

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值