Prefácio
No blog anterior, registramos o serviço a Eureka. Podemos ver na interface da interface do usuário de Eureka, quais serviços foram registrados no servidor Eureka. No entanto, se quisermos ver quais métodos de interface RESTful são fornecidos pelo serviço atual, não temos como obtê -los. O método tradicional é resolver um documento de interface de serviço para comunicação entre desenvolvedores. Nesse caso, muitas vezes, isso causará inconsistências entre o documento e o código, como o código que está sendo alterado, mas o documento da interface não foi alterado e o Swagger2 nos fornece uma solução perfeita. Vamos dar uma olhada em como o Swagger2 resolve o problema.
1. Introduzir o pacote JAR que o swagger2 depende
<!-- swagger2 --> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.2.2</version> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>2.2.2</version> </dependency>
2. Inicialize a configuração do swagger2
@Configuration @enableswagger2 // Ativar swagger2 public classe swagger2 {@Bean public Docket creenderestapi () {// Crie informações básicas da API Retornar new Docket (documentationType.swagger_2) .apiinfo (apiinfo () .Select () .apis (requestHandlerSelectors.basepackage ("com.chhliu.jpa"))) // Digitalize todas as APIs neste pacote que precisam ser exibidas em Swagger, exceto @Apiignore anotation anotated.paths (PathSelectors.any ()) .build (); } private apiinfo apiinfo () {// Informações básicas sobre a criação de APIs, que serão exibidas na interface do usuário do Swagger. Retornar novo apiinfobuilder () .title ("Construa APIs RESTful na bota da primavera usando swagger2") // api title.description ("APIs RESTful fornecidas por rdcloud-jpa") // api description.contact ("chhliu@")/ contact.version ("1.0")/ versão }}Nota: Esta classe de configuração precisa ser criada no diretório de aplicativos no mesmo nível. Quando o projeto é iniciado, a classe de configuração é inicializada.
3. Melhore as informações do documento da API
public interface SonarControllerI { @ApiOperation(value="get Url information corresponding to Sonar of the project group", notes="get Url information corresponding to Sonar of the project group based on id")// Use this annotation to describe interface method information @ApiImplicitParams({ @ApiImplicitParam(name = "id", value = "SonarUrl table ID", required = true, dataType = "Long", Paramtype = "Path")}) // Use esta anotação para descrever as informações do parâmetro do método. Deve -se notar aqui que o parâmetro paramtype precisa ser configurado como caminho, caso contrário, um erro será relatado ao acessar o método da interface no UI @getMapping ("/get/{id}") sonarurl get (@pathvariable longo id); @Apioperation (value = "Obtenha todas as informações de URL correspondentes ao sonar do grupo de projetos") @getMapping ("/get/all") Lista <Sonarurl> getall (); } Nota: Paramtype representa o tipo de parâmetro, valores opcionais são "caminho", "corpo", "consulta", "cabeçalho", "forma"
4. Melhore a informação do tipo de retorno
@Entity (name = "SONAR_URL") Classe pública Sonarurl implementa serializável { / ** * * / private estático final serialversionuid = 1L; @Apimodelproperty (value = "chave primária", hidden = false, notas = "chave primária, oculta", obrigatória = true, datatype = "long") // use esta anotação para descrever as informações da propriedade. Quando oculto = true, essa propriedade não será exibida na API @id @generatedValue (estratégia = generationType.auto) Private Long Id; @ApimodelProperty (value = "Endereço do link URL") @column (name = "url") private string url; @ApimodelProperty (value = "Grupo de projeto") @column (name = "Team") String Private String Team; @ApimodelProperty (value = "departamento") @column (name = "departamento") departamento de sequência privada; ... omita getter, método setter ...}5. Inicie o aplicativo
1. Entre no navegador: http: // localhost: 7622/swagger-ui.html
2. Os resultados são os seguintes:
6. Acesso e teste de documentos da API
Além de fornecer a função de visualização da interface da API, o Swagger também fornece funções de depuração e teste.
Os resultados dos testes são os seguintes:
O exposto acima é todo o conteúdo deste artigo. Espero que seja útil para o aprendizado de todos e espero que todos apoiem mais o wulin.com.