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

网站seo顾问医疗营销的网站怎么做

网站seo顾问,医疗营销的网站怎么做,阐述什么是网站,外贸没有公司 如何做企业网站如果是一个人把啥都开发了#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.hkea.cn/news/14382095/

相关文章:

  • 专用于做网站公司直播app制作公司
  • 先做网站后备案吗珠海响应式网站建设推广公司
  • 单位网站改版哪个网站查食品建设好
  • 宜昌网站开发四川网站排名
  • 财经网站源码 织梦网站源码什么意思
  • 秦皇岛网站搜索优化中国万网域名登录
  • 东莞网站优化哪个公司好国内的有什么好wordpress主题
  • 商城网站开发背景南通网络公司网站
  • 网站开发岗位说明书管理系统软件有哪些
  • 求职网站开发开题报告写作网站大全
  • cms管理手机网站企业网络推广网站建设
  • 做外贸需要做个英文网站吗南阳做网站哪个好
  • 做有支付系统的网站一般需要多少钱河南城市建设网站
  • 企业为什么要建站台呢wordpress数据输出
  • 做数据结构基础的网站衡水做wap网站
  • 建站公司哪家好 知道万维科技网站图片做伪静态
  • 有哪些做微博长图网站谷歌sem服务商
  • 网站优化服务流程哪里网站开发好
  • 深圳网站建设深正互联软件开发培训机构哪些比较好
  • 网站模板模仿网站建设速度如何解决
  • 医院网站首页设计做一个简单的网站多少钱
  • 网站后缀org天河商城网站建设
  • 信用门户网站建设规范加利弗设计公司官网
  • 广东建设信息网粤建通seo问答
  • 建网站原型图苏州建设交通职业技术学院官网
  • 网站头部怎么做wordpress博客导出
  • 网站策划专员招聘建设银行短信开通网站
  • 广州黄埔做网站的公司广州 骏域网站建设 陶瓷
  • 网站做xss过滤网站html静态化
  • 免费建站网页无需登陆苏州seo关键词优化价格