首页 > 其他分享 >0209_【理解】REST接口描述

0209_【理解】REST接口描述

时间:2022-12-27 00:11:57浏览次数:35  
标签:documentation value 部门 接口 REST import springfox com 0209

1、
package com.yootk.provider.config;


import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

 

import springfox.documentation.builders.ApiInfoBuilder;

import springfox.documentation.builders.PathSelectors;

import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;

@Configuration
public class SwaggerConfig { // Swagger配置类

 private ApiInfo getApiInfo() { // 文档之中的头部的信息项

return new ApiInfoBuilder().title("【沐言科技】部门微服务")

         .description("实现部门数据的统一管理,包括:增加部门信息、查询部门信息、部门列表显示等,此处省略5000字...")

          .termsOfServiceUrl("https://www.xxxx.com")

        .contact(new Contact("xxxx老师", "edu.xxx.com", "[email protected]"))

         .license("xxxx - 授权管理").version("1.0.0").build();

}

@Bean
public Docket getDocker() { // 所有的详细描述在此类中定义

return new Docket(DocumentationType.SWAGGER_2) // 使用的文档版本类型

  .apiInfo(this.getApiInfo())

   .select() // 所有的接口一定要放在指定的包中

  .apis(RequestHandlerSelectors.basePackage("com.yootk.provider.action"))
  .paths(PathSelectors.any()).build();

}

}

 

2、
package com.yootk.provider.action;

import com.yootk.common.dto.DeptDTO;
import com.yootk.service.IDeptService;

import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;

import lombok.extern.slf4j.Slf4j;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;

import javax.servlet.http.HttpServletRequest;
import java.util.Enumeration;

@RestController
@RequestMapping("/provider/dept/*") // 微服务提供者父路径
@Slf4j // 使用一个注解

public class DeptAction {

@Autowired
private IDeptService deptService;

 @ApiOperation(value="部门查询", notes = "根据部门编号查询部门详细信息")

  @GetMapping("get/{id}")

@ApiOperation(value="部门增加", notes = "增加新的部门信息")
@ApiImplicitParams({@ApiImplicitParam(name = "deptDTO", required = true,dataType = "DeptDTO", value = "部门传输对象实例") })
@PostMapping("add")

public Object add(@RequestBody DeptDTO deptDTO) { // 后面会修改参数模式为JSON
  this.printRequestHeaders("add");
  return this.deptService.add(deptDTO);
}

@ApiOperation(value="部门列表", notes = "查询部门的完整信息")
@GetMapping("list")

public Object list() {
  this.printRequestHeaders("list");
  return this.deptService.list();
}

 

@ApiOperation(value="部门分页查询", notes = "根据指定的数据库参数实现部门数据的分页加载")
@ApiImplicitParams({
@ApiImplicitParam(name="cp", value = "当前所在页", required = true, dataType = "int"),
@ApiImplicitParam(name="ls", value = "每页显示的数据行数", required = true, dataType = "int"),
@ApiImplicitParam(name="col", value = "模糊查询列", required = true, dataType = "String"),
@ApiImplicitParam(name="kw", value = "模糊查询关键字", required = true, dataType = "String")
})
@GetMapping("split")

public Object split(int cp, int ls, String col, String kw) {
  this.printRequestHeaders("split");
  return this.deptService.split(cp, ls, col, kw);
}

  private void printRequestHeaders(String restName) {    // 实现所有请求头信息的输出  

  HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
  Enumeration<String> headerEnums = request.getHeaderNames();
  while (headerEnums.hasMoreElements()) {
    String headerName = headerEnums.nextElement();
    log.info("【{}】头信息:{} = {}", restName, headerName, request.getHeader(headerName));
  }

 

}

}

标签:documentation,value,部门,接口,REST,import,springfox,com,0209
From: https://www.cnblogs.com/cnetsa/p/17007164.html

相关文章

  • 0208_【理解】Swagger接口描述
    1、//https://mvnrepository.com/artifact/io.springfox/springfox-boot-starterimplementationgroup:'io.springfox',name:'springfox-boot-starter',version:'3.0......
  • 【问题记录】【SpringBoot】Filter中抛出的异常不会走RestControllerAdvice全局异常捕
    1 问题现象//如下是我定义的全局异常捕获@RestControllerAdvicepublicclassRestExceptionHandler{/***默认全局异常处理。*@paramethee......
  • jmeter+ant+jenkins接口自动化持续集成
    JMETER+ANT+JENKINS接口自动化持续集成一、在win10环境下安装jdk、jmeter、ant、jenkinsjdk安装参考:https://www.cnblogs.com/lc-blogs/p/17005044.htmljmeter安装参......
  • 接口文档编辑工具+接口文档编写
    目录​​接口文档编辑工具​​​​接口文档编写​​​​补充​​​​GET与POST的区别​​接口文档编辑工具参考​​@Lucky锦【接口文档编辑工具】​​Swagger:通过固定格式......
  • 多功能采集仪VH03接口使用说明
    传感器接口传感器接口须使用设备专门配备的测线,一端为DB9一端为用颜色区分的多个鳄鱼夹,线(鳄鱼夹)颜色和功能定义详见“设备组成和接口定义”。充电和通讯接口VH03使用标......
  • C# 通过ipify接口获取外网IP地址
    using(varclient=newWebClient()){client.Encoding=Encoding.UTF8;stringserviceAddress="https://api.ipify.org/?format=json";//请求URL地址......
  • 支付接口的API什么?SDK是什么?
    随着移动支付的发展速度越来越快,各第三方支付和第四方支付成为移动支付的中流砥柱,而面向市场需求,需要不断的提高自己的技术水平,特别是现在商户对于支付安全、支付便捷的需求......
  • Java:泛型方法、泛型类、泛型接口、类型通配符
    (目录)要求:JDK>=1.5泛型方法packagecom.example.demo;importjava.io.IOException;publicclassDemo{//泛型方法publicstatic<T>voidprintT(T......
  • 千兆以太网工程(高速接口)
    《千兆以太网》是高速接口必修课程, 从课程中学习FPGA模块划分,熟悉高速以太网接口逻辑。课程主要内容包括:包括TCPIP 协议、ARP 协议、UDPIPMAC 协议解析,MACIP 核的......
  • 构建一个反应式 RESTful Web 服务
    本指南将引导您完成创建“你好,春天!带有SpringWebFlux的RESTfulWeb服务(SpringBoot2.0的新功能),然后使用WebClient使用该服务(也是SpringBoot2.0的新功能)。本指南展示了使......