OcrapiServerApplication.java 2.59 KB
package com.iclear.ocr.ocrapi;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
import org.springframework.context.annotation.Bean;
import org.springframework.web.client.RestTemplate;
import org.springframework.web.context.request.async.DeferredResult;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;

@SpringBootApplication
public class OcrapiServerApplication extends SpringBootServletInitializer {
    private static final Logger logger = LoggerFactory.getLogger(OcrapiServerApplication.class);

    public static void main(String[] args) {
        logger.info("Spring Boot OcrapiServerApplication Begin.............");
        SpringApplication.run(OcrapiServerApplication.class, args);
        logger.info("Spring Boot OcrapiServerApplication End.............");
    }

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(OcrapiServerApplication.class);
    }

    @Bean
    public Docket prodApi() {
        return new Docket(DocumentationType.SWAGGER_2)
                .groupName("prod")
                .genericModelSubstitutes(DeferredResult.class)
                //  .genericModelSubstitutes(ResponseEntity.class)
                .useDefaultResponseMessages(false)
                .forCodeGeneration(false)
                .pathMapping("/")//api测试请求地址
                .select()
                .paths(PathSelectors.regex("/*.*"))//过滤的接口
                .build()
                .apiInfo(prodApiInfo());
    }

    private ApiInfo prodApiInfo() {
        Contact contact = new Contact("IClearProject", "http://localhost:8080", "yang.li@erry.com");
        ApiInfo apiInfo = new ApiInfo("Spring Boot Prod API接口",//大标题
                "REST风格API",//小标题
                "0.1",//版本
                "http://www.erry.vip",//服务网址条款
                contact.getName(),//作者
                "主页",//链接显示文字
                "http://www.erry.vip"//网站链接
        );
        return apiInfo;
    }

    @Bean
    public RestTemplate restTemplate() {
        return new RestTemplate();
    }
}