Os documentos de interface desempenham um papel indispensável em nosso trabalho diário de desenvolvimento.Especialmente para projetos com front-end e back-ends separados, é necessário usar documentos de interface para comunicação.O Swagger 2 é de código aberto e livre de usar. De ferramentas
1. Introduzir a dependência do Swagger2
<!-- swagger2 -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
</dependency>
2. Arquivo de configuração Swagger2 SwaggerConfig.java
@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.pathMapping("/")
.select()
// 扫描路径
.apis(RequestHandlerSelectors.basePackage("com.meet.controller"))
.paths(PathSelectors.any())
.build().apiInfo(new ApiInfoBuilder()
// 标题
.title("Swagger项目管理")
// 描述
.description("Swagger项目管理接口测试文档")
// 版本号
.version("1.0.0")
// 联系人信息
.contact(new Contact("lizhou","http://127.0.0.1:8080/swagger-ui.html","[email protected]"))
// 使用协议
.license("The Apache License")
.licenseUrl("https://swagger.io/")
.build());
}
}
Nós primeiro uso @Configuration notas indicam esta é uma classe de configuração
e, em seguida, usar @ EnableSwagger2 comentário Swagger2 aberto
, em seguida, configurar um feijão Docket , Feijão neste, configure o caminho do pacote de verificação que é o caminho da classe Controller
ApiInfo website de informações de configuração principal , Como título, descrição, contato, contrato de uso e outras informações
3. Comece
Para iniciar o projeto, visite:
http://localhost:8080/swagger-ui.html
Aqui você pode ver todas as interfaces da API verificadas
4. Expandir conhecimento
@Api () é usado para uma classe, indicando que esta classe é um recurso do swagger
@ApiOperation () é usado para um método, indicando uma operação de uma solicitação http
@ApiParam () é usado para um método, parâmetro, descrição de campo, indicando a adição de metadados ao parâmetro (Descrição ou obrigatório, etc.)
@ApiModel () é usado para classes, o que significa explicar a classe, para parâmetros a serem recebidos pela entidade entidade
@ApiModelProperty () para métodos, campos, o que significa que a descrição do atributo do modelo ou da operação de dados muda
@ ApiIgnore () é usado para classes, métodos, parâmetros de método, indicando que esse método ou classe é ignorado
@ApiImplicitParam () é usado para métodos, indicando que um parâmetro de solicitação separado
@ApiImplicitParams () é usado para métodos, contém vários @ApiImplicitParam
Por exemplo:
1. anotação @Api ()
@Controller
@Api(tags = "添加好友相关接口")
@RequestMapping("addFriend")
public class AddFriendController {
...
}
2. @ApiOperation () Nota
Se você encontrar alguma deficiência na leitura, deixe uma mensagem! ! !