springBoot integrado instrumento de documentação API Swagger2

A, Swgger Introdução

1. site oficial

https://swagger.io/

2. Introdução

Swagger é uma estrutura padronizada e completa para a geração, a descrição e visualização de chamadas para os serviços de RESTful Web.
O objetivo da Swagger é definir uma API REST padrão e interface independente de linguagem, as pessoas podem ter um computador e necessidade de código-fonte de acesso, documentos, ou tráfego de rede de monitoramento pode descobrir e entender as capacidades de serviço. Quando adequadamente definido por Swagger, o usuário pode entender e usar o serviço remoto e serviço remoto lógica de implementação interação mínima. E para as interfaces de programação subjacentes implementado semelhante, Swagger pode ter eliminado o serviço de chamada de adivinhação.
vantagens 3.Swagger
apoiar a geração automática de documentação sincronização API podem ser gerados automaticamente após o uso Swagger diretamente através do código e arquivo de configuração simples, eliminando a necessidade de manualmente escrever documentação interface para programadores, você pode economizar tempo para escrever o documento para aprender novas habilidades
fornecer páginas web API teste on-line, você não pode exigir carteiro e outras ferramentas para testes de interface, em linha testando parâmetros e formato são determinados amigos de interfaces, os parâmetros ajustados diretamente na interface web podem ser testadas.

Dois, springBoot integrado Swagger

1. Crie um novo springBoot, apresentou suas dependências

    <! - https://mvnrepository.com/artifact/io.springfox/springfox-swagger2 -> 
        <dependency> 
            <groupId> io.springfox </ groupId> 
            <artifactId> springfox-swagger2 </ artifactId> 
            <versão> 2.9.2 </ version> 
        </ dependency> 
        <! - https://mvnrepository.com/artifact/io.springfox/springfox-swagger-ui -> 
        <dependency> 
            <groupId> io.springfox </ groupId> 
            <artifactId> springfox-bravata-ui </ artifactId> 
            <versão> 2.9.2 </ version> 
        </ dependency>

2. Criar um novo controle HelloController interface de classe, e criar uma nova classe de configuração Swagger

Uma vez que esta classe está configurado classe, para adicionar uma anotação @ configuração, Swgger Notes @ EnableSwagger2 indicar na arrogância, você pode fazer tão simples de usar Swagger, mas todas as configurações de executar a opção padrão

 

 Na raiz do navegador mais /swagger-ui.html, você pode acessar a documentação da API do lado web

 

 

Esta imagem mostra toda a configuração padrão, você pode ver a página é dividida em quatro partes, o básico-error-controlador seção interface de transportadora é built-in, como o acesso a 404 páginas ou outro padrão ir por esse caminho, Olá-controlador para nós o novo controlador, é claro, queremos ser configurado como arrogância necessária e ambos os lados precisam deixá-lo ter uma ferramenta simples para gerar api

@Configuration 
@ EnableSwagger2 
classe pública Swagger2Config { 

    @Bean 
    pública Docket Docket No. () { 
        return new new Docket No. (DocumentationType.SWAGGER_2) 
                .apiInfo (apiInfo ()) 
                .Select () 
                // RequestHandlerSelectors interface de configuração modo para digitalizar 
                // basePackage indica a varredura especificado pacotes 
                .apis (RequestHandlerSelectors.basePackage ( "com.example.demo03.controller")) 
                // caminhos indicaram a necessidade de obter filtro caminho 
                .paths (PathSelectors.any ()) 
                .build (); 
    } 

    // apiInfo para a configuração do Swagger informações apiInfo 
    privada apiInfo apiInfo () {
        Contato Contato = new Contact ( "liufuqiang", "https://cnblogs.com/LiuFqiang", "[email protected]"); 
        retornar nova ApiInfo ( 
                "门诊用药分析系统后台RESTful API文档", 
                "autor: liufuqiang", 
                "v1.0", 
                "https://cnblogs.com/LiuFqiang", 
                contato, 
                "Apache 2.0", 
                "http: / /www.apache.org/licenses/LICENSE-2.0" , 
                new ArrayList () 
        ); 
    } 
}

  Aqui temos uma configuração simples, Docket como um exemplo de Swagger, ao olhar para o código-fonte subjacente, podemos ver que existem algumas propriedades Docket

 

 E nós queremos usar uma necessidade boa Swagger para configurar essas propriedades, como modificar a informação básica, onde a API, e especificar as necessidades de pacotes para ser superfície digitalizada

 

 

, A mudança de contexto terceiro

Enquanto estávamos no desenvolvimento normal, haverá ambientes de desenvolvimento e produção, se o ambiente está na linha serão expostos diretamente a este documento não pode ser bom, todos nós queremos ter que mudar consoante o ambiente de projeto correspondente para abrir Swagger

 

 informações api inalterada, aumento de propriedade Ambiente para monitorar o ambiente do projeto, se o ambiente de desenvolvimento, set para abrir Swagger, se ambiente de compilação, desative Swagger, tais como onde vamos construir ambiente para permitir 3030, aparecerá a seguinte tela:

 

Em quarto lugar, os documentos são agrupados 

Para o pacote de documentação da API, quando estávamos desenvolvimento da equipe, é melhor para cada documento individual serão agrupados de modo que os desenvolvedores de front-end,

 

 Quando as pessoas desenvolvem, será automaticamente injetar várias instâncias Docket recipiente para a primavera,

 

 Podemos ver no canto superior direito alguns mais espaço porque nós injetar os três exemplos correspondentes, otherâ e otherB Uma vez que não tem qualquer configuração, por isso não será o nosso primeiro passo para a página de configuração padrão

Quinto, comentários de código

Quando retornar dados no controlador, se houver dados envolvidos classe pojo, a classe desta entidade será exibido no modelo

@RestController 
HelloController classe pública { 

    @Autowired 
    privada HelloService HelloService; 

    @GetMapping ( "/ getAllUser") 
    público Student getAllUser () { 
        return new Student (); 
        
    } 
}

 Aqui nós criamos uma nova classe de entidade Estudante, tem no método de classe HelloController retorna a classe de entidade

 

 Quando as pessoas desenvolvem provavelmente a coisa mais dolorosa é para ver o código escrito por outra pessoa, pode haver algum campo nomeadas outras pessoas não entendem, todos os comentários no código que irá gerar a documentação

 

 

 

 Claro, nós também podemos fazer parâmetros de notas, solicitação de nome de interface

 

 

 

Sexto, testes on-line

Clique em um método de experimentá-lo

 

 

 

Executar, em seguida, envia uma solicitação para executar o teste de interface de linha

 

Acho que você gosta

Origin www.cnblogs.com/LiuFqiang/p/12466606.html
Recomendado
Clasificación