当前位置: 首页 > news >正文

太原做网站找谁邢台123招聘信息网

太原做网站找谁,邢台123招聘信息网,河南网站推广怎么做,懒人免费建站模板一、简介 在当下这个前后端分离的技术趋势下#xff0c;前端工程师过度依赖后端工程师的接口和数据#xff0c;给开发带来了两大问题#xff1a; 问题一、后端接口查看难#xff1a;要怎么调用#xff1f;参数怎么传递#xff1f;有几个参数#xff1f;参数都代表什么含…一、简介 在当下这个前后端分离的技术趋势下前端工程师过度依赖后端工程师的接口和数据给开发带来了两大问题 问题一、后端接口查看难要怎么调用参数怎么传递有几个参数参数都代表什么含义问题二、返回数据操作难数据返回不对或者不够怎么办怎么才能灵活的操作数据 这是很多公司前后端分离之后带来的困扰那怎么来解决这些问题 问题一的一般解决方案后端团队共同维护一个在线文档每次改接口再去改对应的文档但难免会遗漏花的大力气但却效果平平。 问题二的一般解决方案自己搭建一个Mock服务器然后一个接口一个接口手动去录规则还是一个费力的体力活。 那有没有最优的解决方案来解决以上两个问题呢答案是肯定的那就是将要登场的“Swagger”和“Easy Mock”。 1.1 Swagger介绍 Swagger是全球最流行的接口文档自动生成和测试的框架几乎支持所有的开发语言。 Swagger官网地址https://swagger.io/ 1.2 Easy Mock介绍 Easy Mock是一个可视化并且能快速生成 模拟数据 的持久化服务。 Easy Mock能一键导入Swagger所有接口省去了手动录制接口的麻烦而且能够完美的适配Swagger中的代码注释可谓开发利器。 Easy Mock数据是保存在云端的而且可以创建团队项目可以真正的实现前端脱离后端进行项目开发。 接下来一起来看看怎么在项目中集成Swagger和Easy Mock吧。 1.3 开发环境 JDK 8Spring Boot 2.0.4Swagger 2.9.2IDEA 2018.2 二、Swagger集成 本文介绍的Swagger是基于Spring Boot框架的一起来看具体的实现步骤。 2.1 添加依赖 配置pom.xml添加如下代码 dependencygroupIdio.springfox/groupIdartifactIdspringfox-swagger2/artifactIdversion2.9.2/version /dependency dependencygroupIdio.springfox/groupIdartifactIdspringfox-swagger-ui/artifactIdversion2.9.2/version /dependency其中 springfox-swagger2 用于JSON API文档的生成springfox-swagger-ui 用于文档界面展示。 更多版本请访问 springfox-swagger2http://mvnrepository.com/artifact/io.springfox/springfox-swagger2 springfox-swagger-uihttp://mvnrepository.com/artifact/io.springfox/springfox-swagger-ui 2.2 注册Swagger 在源码的根目录也就是Appliction.java的同级目录创建Java类“SwaggerConfig.java”命名无所谓代码如下 import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import springfox.documentation.service.ApiInfo; import springfox.documentation.spi.DocumentationType; import springfox.documentation.spring.web.plugins.Docket; import springfox.documentation.swagger2.annotations.EnableSwagger2; import static springfox.documentation.builders.PathSelectors.regex;Configuration EnableSwagger2 ConditionalOnExpression(${swagger.enable:true}) public class SwaggerConfig {Beanpublic Docket swaggerSpringMvcPlugin() {ApiInfo apiInfo new ApiInfo(Spring Boot APIs,Spring Boot Swagger2,1.0.0,null,王磊的博客,作者王磊,http://www.apigo.cn/);Docket docket new Docket(DocumentationType.SWAGGER_2).select().paths(regex(/api/.*)).build().apiInfo(apiInfo).useDefaultResponseMessages(false);return docket;} }其中“ConditionalOnExpression”为Spring的注解用户是否实例化本类用于是否启用Swagger的判断生产环境需要屏蔽Swagger。 2.3 生产环境禁用Swagger 是否启用Swagger是在application.properties文件里配置的配置如下 swagger.enabletrue 生产环境禁用设置为false即可。 2.4 添加文档注释 完成以上三个步骤已经完成了Spring Boot对Swagger的集成但是文档不够友好比如类、接口的中文说明、参数的说明是没有的需要在代码中完成。 如下代码 RestController RequestMapping(/api/user) Api(tags 用户控制器) public class UserController {ApiOperation(value 打招呼, notes 测试方法)ApiImplicitParam(name name, value 姓名)RequestMapping(value /sayhi, method RequestMethod.POST)public String sayHi(String name) {return Hello, name;}ApiOperation(value 获取所有用户, notes 查询分页数据)RequestMapping(value /getall, method RequestMethod.POST)public String getAll() {return 所有用户;} }写完代码运行项目在浏览器输入http://localhost:8080/swagger-ui.html 查看添加注释的效果如下图 其中Api是用来描述类的ApiOperation是用来描述方法的ApiImplicitParam是用来描述参数的更多注解说明请看下文。 示例源码下载https://github.com/vipstone/springboot-example/tree/master/springboot-swagger 三、Swagger文档注解 我们现在已经对Swagger有了初步的认识本节重点来看Swagger注解的使用。 Swagger注解的作用是给接口添加注释的。 3.1 Api 类注释 Api用来描述类的属性如下 tags 描述类的用途value 对显示而言没有任何用途可以不用设置 代码示例 Api(tags “文章接口”) 3.2 ApiOperation 方法注释 ApiOperation用来描述方法的属性如下 value 方法的描述notes 方法备注说明 代码示例 ApiOperation(value “获取所有文章”, notes “查询分页数据”) 效果如下图 3.3 ApiImplicitParams 参数注释 ApiImplicitParams描述多参数 ApiImplicitParam描述单参数 属性如下 name 参数value 参数的描述required 是否必传paramType 参数存放位置header、query、path(resuful接口)、body、formdataType 参数类型defaultValue 参数默认值 代码示例 ApiImplicitParams({ ​ ApiImplicitParam(name “name”, value “姓名”, required true, paramType “form”), ​ ApiImplicitParam(name “age”, value “年龄”, required true, paramType “form”), }) 效果如下图 3.4 ApiModel 实体对象描述 ApiModel实体类名描述属性如下 description 类描述 ApiModelProperty字段描述属性如下 value 字段描述 示例如下 ApiModel(description 返回响应数据) public class RestMessage implements Serializable{ApiModelProperty(value 是否成功)private boolean successtrue;ApiModelProperty(value 返回对象)private Object data;ApiModelProperty(value 错误编号)private Integer errCode;ApiModelProperty(value 错误信息)private String message;/* getter/setter */ }四、Easy Mock使用 Easy Mock是在线的Mock模拟服务器注册账号即可使用数据存储云端使用简单不需要在本地进行任何配置具体操作步骤如下文。 4.1 注册账号 浏览器输入https://easy-mock.com/login 注册账号 4.2 配置Easy Mock项目 进入管理页面之后点击演示个人演示项目默认创建的可以直接拿来用如下图 进入接口列表点击设置点击Swagger Docs API选择Upload本地文件上传如下图 4.3 导出Swagger接口 浏览器访问http://localhost:8080/v2/api-docs 就看到项目的所有接口JSON格式的右键另存为文件如下图 继续4.2的操作上传刚刚保存的JSON文件到Easy Mock。 4.4 更新接口 保存完JSON数据之后就返回到项目的设置页了这个时候点击“同步Swagger”就看到所有接口了。如下图 到此为所有的接口已经导入了可以点击接口列表右侧的复制按钮进行愉快的调用了。 这个时候就可以完全脱离后端了点击接口详情可以看出Easy Mock完美识别了Swagger注释也有了如下图 4.5 修改数据 接口的调用没问题接下来就是修改操作数据了点击右侧的相应接口的修改按钮如下图 进入编辑页面你现在编辑的数据就是接口要返回的数据数据是JSON格式的并且是在线保存云端无须担心数据丢失如下图 编辑完直接点击更新接口即可注意编辑页面还有一个预览按钮点入可以模拟请求这下连Postman都省了效果如下 五、总结 到此为止所有内容已经演示完了我们解决前后端分离带来接口管理难、数据操作难的问题。自动生成接口文档、一键模拟数据让我们不再依赖后端只专注前端的业务等后端把接口写完之后再进行联合调试就可以了这样我们就不费吹灰之力搞定了所有难题并且灵活的配置让我们可以不影响和污染生产环境生产环境设置禁用Swagger即可并且有了预览功能之后我们甚至连Postman都省了。 参考资料 swagger2 注解说明https://blog.csdn.net/xiaojin21cen/article/details/78654652
http://www.pierceye.com/news/40358/

相关文章:

  • pdf怎么做电子书下载网站seo产品是什么意思
  • 做最精彩的绳艺网站登陆网站取消备案
  • 男女激烈做羞羞事网站网站韩剧大气wordpress主题
  • 网站做端口是什么情况佛山建站佛山网页设计
  • 移动论坛网站模板乐陵seo排名
  • 潍柴新建站登录网址响应式网站多少钱
  • 广州中企动力网站制作外链查询工具
  • 小城镇建设的网站文献数据做图网站有哪些内容
  • 重庆做网站及优化报价榆林市 网站建设
  • 滨江网站制作没有备案的网站 推广
  • 自考都到哪个网站找题做wordpress后台产品图标
  • 中国大唐集团公司招聘网站页面优化
  • 搭建一个网站教程工作室注册
  • 域名购买成功后网站怎么建设WordPress文章图片自动圆角
  • 网站开发项目描述范文合肥做网站好的公司
  • 如何建网站老鱼网网站建设经费预算
  • 泰达建设集团网站建设网站需要买什么
  • 哈尔滨网站优化排名地产网站建设互动营销
  • 做网站需要多少钱济宁网站外链建设的15个小技巧
  • 株洲网站排名优化价格wordpress和织梦百度收录
  • 城市管理如何宣传市建设网站微软网站做u盘启动教程
  • 建设银行啦卡信用网站广东省住房和城乡建设部网站
  • 多举措加强局门户网站建设上海网站建设千元漂亮
  • 360免费建站网页链接网站制作课程介绍
  • 顶客网站和网摘网站手机网站大全免费下载
  • 网站设计与制作说明书大连开发区规划建设局网站
  • 通辽网站建设tlyltd网站设计公司简介
  • 网站开发从哪里学起php创建wordpress
  • 门户网站集群建设方案网站维护 网站后台建设知识
  • 定远县建设小学网站最新域名网站