前后端协作
通常使用swagger方式中存在的问题:
各类与业务无关的注解大量污染Controller代码,造成维护困难;
灵活性差,想要给特定人暴露特定接口(比如第三方)比较麻烦;
发布生产时需要特殊处理来关闭swagger;
Swagger有时会与其他jar包冲突(比如springfox-swagger2.6.0会导致注册Eureka异常)。
Spring Cloud + Swagger
开发未动,文档先行。正式开发前优先编写独立的Swagger微服务供开发人员参考,让Swagger回归文档本质;
项目初期,由Swagger微服务直接返回格式化的假数据供前端调试,方便前后端并行开发;
前后端联调时,前端可继续由Swagger通过Feign来调用后端服务查看数据,或直接连后端服务调试真实业务逻辑;
可针对不同第三方的需求,提供不同的对外Swagger微服务让对方调试,灵活暴露接口。
后端服务完全不引入任何Swagger代码,保持代码纯净,也避免了Swagger冲突,发布生产时直接关掉Swagger服务即可;
注意事项:
Swagger的接口路径、参数等必须与真正的业务接口保持一致,严格遵守规范,方便前端直连后端时统一修改;
Swagger微服务中需要有相应的VO,这类东西可以编写一次,到处复制。因此并不会增加工作量。
总结
技术并不是全部
我今天的分享就到这里,谢谢大家!
上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。