Swagger es un software de función de prueba automática de documentos de interfaz + de interfaz + de prueba funcional. Este artículo presenta brevemente los métodos y algunos problemas comunes de integrar Swagger en su proyecto. Si desea analizar el código fuente del proyecto en profundidad y obtener más información, consulte los materiales de referencia.
Swagger es un marco estandarizado y completo para generar, describir, llamar y visualizar servicios web de estilo RESTFUL. El objetivo general es hacer que el cliente y el sistema de archivos se actualicen a la misma velocidad que el servidor. Los métodos de archivo, los parámetros y los modelos están estrechamente integrados en el código del lado del servidor, lo que permite que la API siempre se mantenga sincronizada. Swagger nunca ha sido más fácil de implementar y administrar y usar API potentes.
Para los estudiantes que mueven ladrillos, escribir interfaces es fácil, escribir documentos de interfaz es muy molesto. Si la interfaz cambia, mantener documentos de interfaz es aún más molesto, por lo que a menudo puede encontrar que el documento no coincide con el programa.
Después de un tiempo, incluso los desarrolladores estaban confundidos
Swagger2 resuelve rápida y convenientemente los problemas anteriores. Un nuevo favorito que puede organizar una poderosa documentación de API RESTful con programas de Spring MVC.
El siguiente código se agrega directamente
pom.xml
<? xml versión = "1.0" encoding = "utf-8"?> <Project xmlns = "http://maven.apache.org/pom/4.0.0" xmlns: xsi = "http://www.w3.org/2001/xmlschemainstance" xsi: schemalocation = "http://maven.apache.org/pom/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <ModelVersion> 4.0.0 </modelversion> <grupo> com.zhongxin.wealth </groupid> <artifactid> wealthweb </artifactid> <versión> 0.0.1-snapshot </verversion> <compafaging> jar </paquete> <name> wealthweb </name> <scription> Proyecto de demostración para el arranque de primavera </solding> <-parent> <grupo> org.springframework.boot </groupid> <artifactid> spring-boot-sharter-parter-parter-pararter </artemid> <Versión> 1.5.9.Release </versión> <relativePath/> <!-Buscar matriz desde repositorio-> </parent> <properties> <ject.build.sourceEncoding> utf-8 </project.build.sourceEnding> <jection.reporting.outputenCoding> utf-8 </project.Reporting <java.version> 1.8 </Java.version> </propiies> <pendencies> <pendency> <uproupid> org.springframework.boot </groupid> <artifactid> spring-boot-starter-web </artifactid> </dependency> <epartency> <uproupid> org.springframe.boot </groupid> <artifactid> spring-boot-starter-test </artifactid> <cope> test </cope> </pepertency> <pendency> <uproupid> io.springfox </proupid> <artifactid> springfox-swagger2 </artifactid> <version> 2.7.0 </versión> </pendency> <pendency> <proupid> io.springfox> <artifactID> springfox-swagger-ui </artifactid> <versión> 2.7.0 </versión> </pendency> </pendencs> </proyecto>
Crear una clase de configuración
paquete com.zhongxin.wealth.apiconfig; import org.springframework.context.annotation.bean; import og.springframework.context.annotation.configuration; import springfox.documentation.builders.apiinfobuilder; import springfox.documation.builders.pathselectores; importar; import springfox.documentation.builders.RequestHandLersElectors; import springfox.documentation.service.apiinfo; import springfox.documentation.spi.documentationType; import springfox.documentation.spring.web.plugins.docket; import treingfox.documentation.swagger2.spring2; Dingys el 2017/12/8. */@Configuration@habilswagger2public class swagger2 {@Bean public Docket creeaterestapi () {return New Docket (DocumentationType.Swagger_2) .APIInfo (apiinfo ()) .select () .Apis (requestlerselectores.basePackage ("com.zhongxin.wealth.web")))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) .paths (PathSelectors.any ())) .Build (); } private apiinfo apiInfo () {return new apiInfobuilder () .title ("Langfang Public Big Data Statistics Results Interface") .version ("1.0") .Build (); }}Controlador de escritura
paquete com.zhongxin.wealth.web; import io.swagger.annotations.apioperation; import org.springframework.web.bind.annotation.requestmapping; import org.springframework.web.bind.annotation.requestmethod; import org.springframe.web.bind.annotation.annotation. Creado por Dingys el 2017/12/7. */ @RestController @requestMapping ("/Hello") Class pública HELLOWORDCONTROLLER {@apioperation (value = "Test Interface", notas = "Esta es solo una interfaz para probar la llamada del controlador, sin ninguna lógica comercial") @RequestMapping (value = {"/test"}, método = requestmethod.get) public string testhello () {return "; }}El código se completa y el efecto está listo
Haga clic en Pruébelo!
¿Es muy detallado, de gama muy alta?
Nota: La versión Swagger2.2.2 que acaba de usar durante el proceso de integración tendrá un recordatorio de error en la página de inicio.
{"schemavalidationMessages": [{"nivel": "error", "mensaje": "No se puede leer desde el archivo http://127.0.0.1:8888/v2/api-docs"}]}Sin embargo, el acceso al navegador: http://127.0.0.1:8888/v2/api-docs puede volver a obtener los resultados
{"Swagger": "2.0", "Info": {"Versión": "1.0", "Título": "Langfang Comisión-Loan Big Data Statistics Resultados Interfaz "," Contacto ": {}," Licencia ": {}}," Host ":" 127.0.0.1:88888up Controlador "}]," rutas ": {"/hola/test ": {" get ": {" etiquetas ": [" hello-word-controller "]," resumen ":" interfaz de prueba "," descripción ":" esta es solo una interfaz para probar la llamada del controlador, sin ninguna lógica comercial "," operación ":" testHelLousingget "," consumes ": [": ["" Aplicar la aplicación ":" "Aplicar" ication/json "]," produce ": ["/"]," respuestas ": {" 200 ": {" descripción ":" ok "," esquema ": {" tipo ":" string "}," 401 ": {" descripción: "noautorizado"}, "403": {"Descripción": "forbido"}, "404": 404: {"no Encontró"}}}}}}}Se desconoce la razón específica, y no ha aparecido después de la versión 2.7.0.
Resumir
Lo anterior es el código de ejemplo de SpringBoot Integrated Swagger introducido a usted. Espero que te sea útil. Si tiene alguna pregunta, déjame un mensaje y el editor le responderá a tiempo. ¡Muchas gracias por su apoyo al sitio web de Wulin.com!