swagger2的跨域配置

手写api的痛点

手写Api文档的几个痛点:

1.文档更新的时候,需要再次更新文档一份给前端,不能及时的和前端进行交流。
2.接口返回结果不明确
3.不能直接在线测试接口,需要借助第三方工具,比如:postman
4.如果接口文档太多,不方便管理
Swagger也就是为了解决这些问题而设计的,当然也不能说Swagger就一定是完美的,也有缺点,最明显的就是代码移入性比较强。

实例演示

<!--Swagger的配置依赖包 -->
<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>        
	@Configuration
	@EnableSwagger2
	public calss SwaggerConfiguration {
		
		//设置swagger跨域,提供给service调用
		@Bean
		public WebMvcConfigurer crosConfigurer(){
			return new WebMvcConfigurerAdapter(){
				public void addCrosMapping(CrosRegistry registry){
					registry.addMapping("/v2/api-docs")
				}
			}
		}
		
		@Bean
		public Docket createRestApi(){
			return new Docket(DocumentationType.SWAGGER_2)
			.apiInfo(apiInfo())
			.select()
			.apis(RequestHandlerSelectors.basePackage("com.lujl")) //基础扫描包路径
			.paths(PathSelectors.any())
			.build();
		}
		
		private ApiInfo apiInfo(){
			return new ApiInfoBuilder()
			.title("配置swagger")
			.description("配置swagger")
			.termsOfServiceUrl("http://ljl.te.com/hi/group") //地址
			.contact("lwx640993") //负责人
			.version("0.1")
			.build();
		}
	}

@RestController
@RequestMapping("/user")
public class UserApi{
	
	@RequestMapping(value = "/getUser",method = RequestMethod.GET)
	public User getUser(){
		return new User();
	}
}

个人总结

swagger比较好的解决了手写api的痛点,当同时也有一定的代码移入。我这个加了swagger的跨域访问,有注解标识,相对来说比较方便。

猜你喜欢

转载自blog.csdn.net/weixin_43935907/article/details/87008015
今日推荐