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

网站设计主题有哪些国外做行程的网站

网站设计主题有哪些,国外做行程的网站,网站建设江西,2015做导航网站好如果是一个人把啥都开发了#xff0c;那用不到Swagger-UI#xff0c;但一般情况是前后端分离的#xff0c;所以就需要告诉前端开发人员都有哪些接口#xff0c;传入什么参数#xff0c;怎么调用#xff0c;返回什么。有了Swagger-UI就能把这部分文档编写的业务给省去了。…如果是一个人把啥都开发了那用不到Swagger-UI但一般情况是前后端分离的所以就需要告诉前端开发人员都有哪些接口传入什么参数怎么调用返回什么。有了Swagger-UI就能把这部分文档编写的业务给省去了。 Swagger-UI是HTML, Javascript, CSS的一个集合可以动态地根据注解生成在线API文档。 Swagger是通过扫描注册生成文档的常用的注解有 Api用于修饰Controller类生成Controller相关文档信息ApiOperation用于修饰Controller类中的方法生成接口方法相关文档信息ApiParam用于修饰接口中的参数生成接口参数相关文档信息ApiModelProperty用于修饰实体类的属性当实体类是请求参数或返回结果时直接生成相关文档信息 和上一篇文章介绍Mybatis-Gen一样Swagger生成文档也是三要素 环境配置执行 GetStart 首先添加项目依赖在pom.xml里面 !--Swagger-UI API文档生产工具-- dependencygroupIdio.springfox/groupIdartifactIdspringfox-swagger2/artifactIdversion2.7.0/version /dependency dependencygroupIdio.springfox/groupIdartifactIdspringfox-swagger-ui/artifactIdversion2.7.0/version /dependency接下来要搞定配置文件配置文件就简单啦就是指定扫描方式以及文档属性 Swagger2Config.java package org.lange.study.config;import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import springfox.documentation.builders.ApiInfoBuilder; import springfox.documentation.builders.PathSelectors; import springfox.documentation.builders.RequestHandlerSelectors; import springfox.documentation.service.ApiInfo; import springfox.documentation.spi.DocumentationType; import springfox.documentation.spring.web.plugins.Docket; import springfox.documentation.swagger2.annotations.EnableSwagger2;Configuration EnableSwagger2 public class Swagger2Config {Beanpublic Docket createRestApi() {return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).select()//Swagger对生成API文档的范围有三种不同的选择//1. 生成指定包下面的类的API文档//2. 生成有指定注解的类的API文档//3. 生成有指定注解的方法的API文档//这里指定为当前包下controller生成API文档.apis(RequestHandlerSelectors.basePackage(org.lange.study.controller))//为有Api注解的Controller生成API文档 // .apis(RequestHandlerSelectors.withClassAnnotation(Api.class))//为有ApiOperation注解的方法生成API文档 // .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class)).paths(PathSelectors.any()).build();}private ApiInfo apiInfo() {return new ApiInfoBuilder().title(SwaggerUI演示).description(mall).contact(zhonglunshun).version(1.0).build();} } 配置好了接下来我们需要在controller里面加一些内容不然会扫描不到看不出来效果正好趁机把业务补充一下添加增删查改。 定义一个业务接口PmsBrandService.java package org.lange.study.service;import org.lange.study.mbg.model.PmsBrand;import java.util.List;public interface PmsBrandService {ListPmsBrand listAllBrand();int createBrand(PmsBrand brand);int updateBrand(Long id, PmsBrand brand);int deleteBrand(Long id);ListPmsBrand listBrand(int pageNum, int pageSize);PmsBrand getBrand(Long id); } 然后实现之PmsBrandServiceImpl.java这个时候实现真的超级简单了就是用前面一篇文章用到的Mybatis-gen生成的代码去查询操作就好了通常查询会用到分页查询分页查询很简单所以这里一起说下了 Pom文件引入分页查询依赖 !--MyBatis分页插件--dependencygroupIdcom.github.pagehelper/groupIdartifactIdpagehelper-spring-boot-starter/artifactIdversion1.4.5/version/dependency然后在list方法开始的时候执行startpage就ok了关于Mabatis生成的基本Sql功能这里不多介绍了有兴趣的可以去看下Mybatis的详细使用扩展一下 PmsBrandServiceImpl.java package org.lange.study.service.impl;import com.github.pagehelper.PageHelper; import org.lange.study.mbg.mapper.PmsBrandMapper; import org.lange.study.mbg.model.PmsBrand; import org.lange.study.mbg.model.PmsBrandExample; import org.lange.study.service.PmsBrandService; import org.springframework.beans.factory.annotation.Autowired;import java.util.List;public class PmsBrandServiceImpl implements PmsBrandService {Autowiredprivate PmsBrandMapper brandMapper;Overridepublic ListPmsBrand listAllBrand() {return brandMapper.selectByExample(new PmsBrandExample());}Overridepublic int createBrand(PmsBrand brand) {return brandMapper.insertSelective(brand);}Overridepublic int updateBrand(Long id, PmsBrand brand) {brand.setId(id);return brandMapper.updateByPrimaryKeySelective(brand);}Overridepublic int deleteBrand(Long id) {return brandMapper.deleteByPrimaryKey(id);}Overridepublic ListPmsBrand listBrand(int pageNum, int pageSize) {PageHelper.startPage(pageNum, pageSize);return brandMapper.selectByExample(new PmsBrandExample());}Overridepublic PmsBrand getBrand(Long id) {return brandMapper.selectByPrimaryKey(id);} } 其他地方都很好理解list接口这里我们发现他返回的是一个用CommonPage封装的page对象为什么要这么做呢因为我们用分页查询后希望客户端在接受后更方便地处理查询的数据列表因此需要告诉他查询了什么怎么查询的。 PageHelper维护了每次的查询结果所以它能自动帮我们分页后封装这个是引入分页查询的好处看下CommonPage的封装就明白了 package org.lange.study.common.api;import com.github.pagehelper.PageInfo;import java.util.List;/*** 分页数据封装类*/ public class CommonPageT {private Integer pageNum;private Integer pageSize;private Integer totalPage;private Long total;private ListT list;/*** 将PageHelper分页后的list转为分页信息*/public static T CommonPageT restPage(ListT list) {CommonPageT result new CommonPageT();PageInfoT pageInfo new PageInfoT(list);result.setTotalPage(pageInfo.getPages());result.setPageNum(pageInfo.getPageNum());result.setPageSize(pageInfo.getPageSize());result.setTotal(pageInfo.getTotal());result.setList(pageInfo.getList());return result;}public Integer getPageNum() {return pageNum;}public void setPageNum(Integer pageNum) {this.pageNum pageNum;}public Integer getPageSize() {return pageSize;}public void setPageSize(Integer pageSize) {this.pageSize pageSize;}public Integer getTotalPage() {return totalPage;}public void setTotalPage(Integer totalPage) {this.totalPage totalPage;}public ListT getList() {return list;}public void setList(ListT list) {this.list list;}public Long getTotal() {return total;}public void setTotal(Long total) {this.total total;} } 到这里其实就可以生成Api文档了Swagger还提供了一种自定义Api注释的生成规则的方法。前面在介绍Bybatis生成器的时候有引入但是并没有介绍怎么用这里顺带提一下。 CommentGenerator为MyBatis Generator的自定义注释生成器简单理解就是Swagger在生成Api的时候同时能给代码生成注释直接修改代码这当然很好但是有些时候我们觉得他添加的不美观想自己定制一下那就需要配置这个 CommentGenerator.java /*** 自定义注释生成器*/ public class CommentGenerator extends DefaultCommentGenerator {private boolean addRemarkComments false;/*** 设置用户配置的参数这个属性对应的就是项目中引入的properties文件* 这里表示读取名为addRemarkComments的属性*/Overridepublic void addConfigurationProperties(Properties properties) {super.addConfigurationProperties(properties);this.addRemarkComments StringUtility.isTrue(properties.getProperty(addRemarkComments));}/*** 给字段添加注释如果需要添加且注释不是空的那就给他加一下*/Overridepublic void addFieldComment(Field field, IntrospectedTable introspectedTable,IntrospectedColumn introspectedColumn) {String remarks introspectedColumn.getRemarks();//根据参数和备注信息判断是否添加备注信息if (addRemarkComments StringUtility.stringHasValue(remarks)) {addFieldJavaDoc(field, remarks);}}/*** 给model的字段添加注释以/** **/的方式里面就一行一行的家。当然咯你也可以根据自己喜欢来定制*/private void addFieldJavaDoc(Field field, String remarks) {//文档注释开始field.addJavaDocLine(/**);//获取数据库字段的备注信息String[] remarkLines remarks.split(System.getProperty(line.separator));for (String remarkLine : remarkLines) {field.addJavaDocLine( * remarkLine);} // addJavadocTag(field, false);field.addJavaDocLine( */);}} 这个时候注释就出来了。然后我们看下接口文档是不是也生成了 接口地址http://localhost:8080/swagger-ui.html
http://www.dnsts.com.cn/news/131816.html

相关文章:

  • 做车贷的网站去大连需要下载什么软件
  • 工业和信息化部网站备案o2o平台有哪些可以入驻
  • 做网站运营还是翻译邯郸旅游景点
  • 淮北论坛官网如何优化网站关键字
  • 网站建设介绍语手机网站设计图
  • 蒙牛网站建设网站开发绑定qq
  • 做学校网站素材图片素材买医疗产品的网站建设
  • 找最新游戏做视频网站有哪些国内简洁网站
  • 找网站建设需要问什么软件seo做的好的网站
  • 南宁网站建设公司哪家好wordpress接口密码
  • 美术网站建设怎么看一个网站是用什么程序做的
  • 专业建站公司提供详细的功能描述及报价六枝特区企业网络推广如何做
  • 网站建设控制wordpress时间表插件
  • 宁夏吴忠网站建设建设门户网站需要注意什么意思
  • 江苏品牌网站设计软件商店下载电脑版官网
  • 国外高大上设计网站珠海市官网网站建设平台
  • 万江专业网站快速排名wordpress lamp 教程
  • 家装业务员怎么做网站营销和县网页定制
  • 不同网站模块分析谷德建筑设计网
  • 扁平化 网站 模板好的网站建设技术
  • vs2010 网站开发教程阿里企业邮箱电话
  • 网站改版后 存在大量404页面网站制作公司哪家正规
  • 网站解析出问题 邮件收不到了苍山网站建设
  • 亦庄开发区建设局网站站长工具精品
  • 网站建好后广告是不是需要承德 网站建设
  • 网站网站做任务佣金违法网页维护师
  • 高要网站建设公司广州车陂网站建设公司
  • 河北省城乡和建设厅网站wordpress中文字体
  • 视频网站的防盗链是怎么做的免费制作企业网站平台
  • 建设一个购物网站要多少钱安阳昨天发生的事件