Swagger UI 与SpringMVC的整合 II

pom.xml


        <dependency>
            <groupId>io.springfoxgroupId>
            <artifactId>springfox-swagger2artifactId>
            <version>2.6.1version>
        dependency>
        <dependency>
            <groupId>io.springfoxgroupId>
            <artifactId>springfox-swagger-uiartifactId>
            <version>2.6.1version>
        dependency>
        <dependency>  
            <groupId>org.hibernategroupId>  
            <artifactId>hibernate-validatorartifactId>  
            <version>5.2.4.Finalversion>  
        dependency>
        
        <dependency>
            <groupId>javax.ws.rsgroupId>
            <artifactId>javax.ws.rs-apiartifactId>
            <version>2.0version>
        dependency>
        
          
          <dependency>  
            <groupId>com.fasterxml.jackson.coregroupId>  
            <artifactId>jackson-annotationsartifactId>  
            <version>2.5.0version>  
        dependency>  
        <dependency>  
            <groupId>com.fasterxml.jackson.coregroupId>  
            <artifactId>jackson-coreartifactId>  
            <version>2.5.0version>  
        dependency>  
        <dependency>  
            <groupId>com.fasterxml.jackson.coregroupId>  
            <artifactId>jackson-databindartifactId>  
            <version>2.5.0version>  
        dependency>  
        <dependency>  
            <groupId>com.fasterxml.jackson.jrgroupId>  
            <artifactId>jackson-jr-allartifactId>  
            <version>2.5.0version>  
        dependency> 
          

spring-mvc.xml


    <mvc:annotation-driven  />
     <context:component-scan base-package="com.qdingnet.pcloud.api"/>
     <mvc:default-servlet-handler/>
    
    <mvc:resources mapping="swagger/**" location="swagger/"/>
    <mvc:resources mapping="webjars/**" location="classpath:/META-INF/resources/webjars/"/>
    

    <bean id="contentNegotiationManager" class="org.springframework.web.accept.ContentNegotiationManagerFactoryBean">
        <property name="favorPathExtension" value="true" />
        <property name="favorParameter" value="true" />
        <property name="parameterName" value="format" />
        <property name="ignoreAcceptHeader" value="false" />
        <property name="mediaTypes">
            <value>
                json=application/json
            value>
        property>
    bean>
    <bean class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver">
        
        <property name="contentNegotiationManager" ref="contentNegotiationManager" />
        
        <property name="defaultViews">
            <list>
                <bean class="org.springframework.web.servlet.view.json.MappingJackson2JsonView" />
            list>
        property>
    bean>
    
   <bean id="stringHttpMessageConverter" class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">  
        <property name="supportedMediaTypes">  
            <list>  
                <value>text/html;charset=UTF-8value>  
                <value>text/plain;charset=UTF-8value>  
                <value>application/json;charset=UTF-8value>  
            list>  
        property>  
   bean>  
    <bean id="jackson2HttpMessageConverter"
          class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
        <property name="objectMapper">
            <bean class="com.fasterxml.jackson.databind.ObjectMapper">
                <property name="dateFormat">
                    <bean class="java.text.SimpleDateFormat">
                        <constructor-arg type="java.lang.String" value="yyyy-MM-dd HH:mm:ss"/>
                    bean>
                property>
            bean>
        property>
    bean>
    
    <mvc:annotation-driven>
        <mvc:message-converters>
            <ref bean="jackson2HttpMessageConverter"/>
            <ref bean="stringHttpMessageConverter"/>
        mvc:message-converters>
    mvc:annotation-driven>

SwaggerConfig.java

@EnableWebMvc
@EnableSwagger2
@ComponentScan(basePackages = {"com.qdingnet.pcloud.api.swagger"})
@Configuration
public class SwaggerConfig extends WebMvcConfigurerAdapter {
    @Bean
    public Docket createRestApi() {
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.qdingnet.pcloud.api.swagger"))
                .paths(PathSelectors.any())
                .build();
    }
    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("Spring 中使用Swagger2构建RESTful APIs")
                .termsOfServiceUrl("http://localhost:8080/v2/api-docs")
                .contact("my swagger")
                .version("1.0.0")
                .build();
    }
}

 

具体其他细节可以查看:

Swagger UI 与SpringMVC的整合

你可能感兴趣的:(Swagger UI 与SpringMVC的整合 II)