¿Cómo puedo desarrollar rápidamente la arrogancia y personalizar el código lógico?

Swagger se divide en 2 versiones: Swagger1 y Swagger2.

Swagger2 requiere spring4. Nuestro próximo proyecto adopta Swagger1, porque muchos proyectos de la empresa no se actualizan a Spring4


Los documentos buscados en Internet son casi los mismos, incluso los signos de puntuación son los mismos y los lugares equivocados son los mismos. No creo que todos hayan experimentado personalmente. De todos modos, experimenté y reporté varios errores.

Swagger1 tiene muchas versiones de interfaz de usuario , que no coinciden con la interfaz de back-end. Busqué mucho y luego encontré una versión que era casi adecuada, y luego modifiqué el código fuente por mí mismo.


1. Únete a pom

<dependency>
     <groupId> com.mangofactory </groupId>
     <artifactId> swagger-springmvc </artifactId>
     <version> 1.0.2 </version>
 </dependency>
 <dependency>
     <groupId> com.fasterxml.jackson.core </groupId>
     <artifactId> anotaciones-jackson </artifactId>
     <version> 2.4.4 </version>
 </dependency>
 <dependency>
     <groupId> com.fasterxml.jackson.core </groupId>
     <artifactId> jackson- enlace de datos <
/ artifactId>     <version> 2.4.4 </version>
</dependency>
 <dependency>
     <groupId> com.fasterxml.jackson.core </groupId>
     <artifactId> jackson-core </artifactId>
     <version> 2.4.4 </version>
 </dependency>

2. swaggerconfig. Configure parte de su propia información, se mostrará en la página de inicio de la API

No es necesario configurar tanto contenido como el archivo spring.xml mencionado en Internet, simplemente no configure nada. Ponlo junto en la clase de controlador

package com.fastcloud.web.front;

import com.mangofactory.swagger.configuration.SpringSwaggerConfig;
import com.mangofactory.swagger.models.dto.ApiInfo;
import com.mangofactory.swagger.plugin.EnableSwagger;
import com.mangofactory.swagger.plugin.SwaggerSpringMvcPlugin;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;

@Configuration
@EnableWebMvc
@EnableSwagger
public class SwaggerConfig {

    private SpringSwaggerConfig springSwaggerConfig;

    /**
     * Required to autowire SwaggerConfig
     */
    @Autowired
    public void setSpringSwaggerConfig(SpringSwaggerConfig springSwaggerConfig)
    {
        this.springSwaggerConfig = springSwaggerConfig;
    }

    /**
     * Every SwaggerSpringMvcPlugin bean is picked up by the swagger-mvc
     * framework - allowing for multiple swagger groups i.e. same code base
     * multiple swagger resource listings.
     */
    @Bean
    public SwaggerSpringMvcPlugin customImplementation()
    {
        return new SwaggerSpringMvcPlugin(this.springSwaggerConfig).apiInfo(apiInfo()).includePatterns(".*?");
    }

    private ApiInfo apiInfo()
    {
        ApiInfo apiInfo = new ApiInfo(
                "TP",
                "TP的H5接口",
                "http://127.0.0.1:8080",
                "My Apps API Contact Email",
                "My Apps API Licence Type",
                "My Apps API License URL");
        return apiInfo;
    }
}

3. Copiar html

https://pan.baidu.com/s/1jI9NKX4

Descomprima api.zip en Baidu Cloud en el directorio de aplicaciones web.

En este punto, la interfaz de back-end ha terminado. El html se copia para una mejor visualización, y no importa si mira json directamente. El nombre de la interfaz del backend es / api-docs


(1) Modifique la dirección de acceso de la lista total de interfaces

Abra la api / index.html del proyecto. aparecer

url: "/mdhy/api-docs"
Modifique mdhy a su propio nombre de acceso al proyecto, http://127.0.0.1/{project name} / api-docs

Si no hay un nombre de proyecto, elimínelo.

Significa que se puede acceder a ajax http://127.0.0.1/api-docs

(2) Modificar la ruta de solicitud de la prueba en línea

搜索api/lib/swagger.js里的“SwaggerOperation.prototype.urlify”,将this.resource.basePath的值配置成你的访问根目录,这里是在线测试点击try it out 时候访问的。f12监控下看看


4、修改后端路径


引入swagger的jar包含一个路径的controller。这里会生成一个根目录下的访问接口  /api-docs

如果你的项目都是*.action的,*.do的,那么访问就是/api-docs.action,/api-docs.do。

但是swagger ui访问的接口都是无后缀的,总不能把所有的js都修改了。所以如果你的项目有,比如*.do,那么修改成无后缀的。如果改成无后缀就得处理静态文件的问题。

web.xml里边设置

<servlet-mapping>
    <servlet-name>default</servlet-name>
    <url-pattern>*.jpg</url-pattern>
</servlet-mapping>
<servlet-mapping>
    <servlet-name>default</servlet-name>
    <url-pattern>*.js</url-pattern>
</servlet-mapping>
<servlet-mapping>
    <servlet-name>default</servlet-name>
    <url-pattern>*.css</url-pattern>
</servlet-mapping>
<servlet-mapping>
    <servlet-name>default</servlet-name>
    <url-pattern>*.html</url-pattern>
</servlet-mapping> 
<servlet-mapping>
    <servlet-name>default</servlet-name>
    <url-pattern>*.png</url-pattern>
</servlet-mapping> 
<servlet-mapping>
    <servlet-name>default</servlet-name>
    <url-pattern>*.gif</url-pattern>
</servlet-mapping> 
	<!-- spring mvc -->
	<servlet>
		<servlet-name>mdhy</servlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
		<load-on-startup>3</load-on-startup>
	</servlet>
	<servlet-mapping>
		<servlet-name>mdhy</servlet-name>
		<url-pattern>/</url-pattern>
	</servlet-mapping>


5、随便找一个controller了,添加注释的参数

具体我就不说了,这块基本没问题


5、打开浏览器

访问即可http://127.0.0.1:8910/{项目名}/api/index.html

我的是

http://127.0.0.1:8910/mdhy/api/index.html

看到红圈地方,这里是数组的,我做了改进,支持数组的对象显示





Supongo que te gusta

Origin blog.csdn.net/penkee/article/details/70650973
Recomendado
Clasificación