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

中国最大免费h5游戏源码网站做seo要投入什么

中国最大免费h5游戏源码网站,做seo要投入什么,h5美食制作网站模板,网站建设与网页设计总结目录 一、搭建课程内容管理服务 二、设计接口 三、面试题 四、总结 一、搭建课程内容管理服务 没什么好说的,直接就是创建内容模块 然后这个继承父模块,然后再课程内容模块下面创建三个子模块,model、sevice、controller model依赖base…

目录

一、搭建课程内容管理服务

二、设计接口

三、面试题

四、总结


一、搭建课程内容管理服务

没什么好说的,直接就是创建内容模块 然后这个继承父模块,然后再课程内容模块下面创建三个子模块,model、sevice、controller 

model依赖base、service依赖model、controller依赖service

二、设计接口

接口设计要考虑接口要考虑两个方面:

1. 接口参数

需要很清晰的知道前端传递过来哪些参数

如果说能用实体类接收就直接用实体类接收,如果说接收不了,考虑设计dto

这里注意:

如果是多端的情况,controller通常参数个数是不同的,但实际上调用的service都是同一个方法

比如说 app端的controller接口参数只有两个参数,而网页端的controller有三个参数

当然这里其实可以只写一个controller,都用来处理这些请求,只需要将参数设置为那个最多的参数就行了,但是这里的话,如果生成文档交由前端看,就会存在迷惑性,因为我实际上并不需要传递那么多的参数,但是还显示那么多的参数,前端就以为都要传递,所以可以设计成不同的controller

如果是多个controller那么参数就可以叫vo   如果一个参数就叫dto 而service层的话就用最多个数参数接收就行了

2. 响应结果

这个的话,要看前端到底需要什么

简单点的话直接看接口文档,然后自己封装vo对象就行了

如果没有接口文档,就需要我们自己考虑页面需要哪些数据,我们就返回什么数据...接收参数也是一样的

总结:

其实分析一个接口的设计:就是分析参数和响应对象

我们做项目的时候,需要明确需求,确定好参数和响应结果所需要的哪些属性,然后设计dto类和vo类,然后再到service中根据参数获取到结果 返回即可

接口设计当然除了参数还有响应结果,另外的请求路径,以及请求方式需要注意

一般来说其实还是get和post用的多,当参数很多很复杂的时候,就用post请求就行了,传递json给接口

再实际项目中 po、mapper、service都使用插件直接生成 搭建这个MP环境其实很简单的

分析一下分页查询课程列表接口的设计思路:

首先需要分页参数,分页参数较少,前端可以在路径上面直接传递过来  后端就是用一个分页参数类接收就行了

而那个内容条件的可能参数较多,也直接使用对象接收,前端在url上面传递不现实的,所以前端应该传递一个json字符串,后端使用@RequestBody接收

@ApiOperation(value = "课程列表", notes = "课程列表")@PostMapping("/list")public PageResult<CourseBase> courses(PageParams pageParams, @RequestBody CourseBaseInfoDto courseBaseInfoDto) {PageResult<CourseBase> pageResult = courseBaseService.courses(pageParams, courseBaseInfoDto);return pageResult;}

这里的话如果是分页请求,那么也就是分页结果,可以使用一个分页响应类返回。分页响应类里面封装着 结果 总记录数 响应状态码 响应信息:

public class PageResult<T> {private static final long serialVersionUID = 1L;/** 总记录数 */@ApiModelProperty(value = "总记录数")private long counts;/** 列表数据 */@ApiModelProperty(value = "列表数据")private List<T> items;/** 消息状态码 */@ApiModelProperty(value = "消息状态码")private int code;/** 消息内容 */@ApiModelProperty(value = "消息内容")private String msg;private long page;//每页记录数private long pageSize;/*** 表格数据对象*/public PageResult(){}/*** 分页** @param list 列表数据* @param counts 总记录数*/public PageResult(List<T> list, long counts){this.items = list;this.counts = counts;}public PageResult(List<T> list, long counts,Integer code,String msg){this.items = list;this.counts = counts;this.code = code;this.msg = msg;}public static <T> PageResult<T> ok(List<T> list, long counts){PageResult<T> pageResult = new PageResult<>(list, counts,200,"success");return pageResult;}public static <T> PageResult<T> error(){PageResult<T> pageResult = new PageResult<>(null,0,500,"error");return pageResult;}public long getcounts(){return counts;}public void setcounts(long counts){this.counts = counts;}public List<T> getitems(){return items;}public void setitems(List<T> items){this.items = items;}public int getCode(){return code;}public void setCode(int code){this.code = code;}public String getMsg(){return msg;}public void setMsg(String msg){this.msg = msg;}
}

大致这样,具体属性名参考前端写的 匹配好 

而一般的请求就使用一般结果响应类 推荐使用下面这个:

public class R extends HashMap<String, Object> {private static final long serialVersionUID = 1L;public R setData(Object data) {put("data",data);return this;}//利用fastjson进行反序列化public <T> T getData(TypeReference<T> typeReference) {Object data = get("data");	//默认是mapString jsonString = JSON.toJSONString(data);T t = JSON.parseObject(jsonString, typeReference);return t;}//利用fastjson进行反序列化public <T> T getData(String key,TypeReference<T> typeReference) {Object data = get(key);	//默认是mapString jsonString = JSON.toJSONString(data);T t = JSON.parseObject(jsonString, typeReference);return t;}public R() {put("code", 0);put("msg", "success");}public static R error() {return error(HttpStatus.SC_INTERNAL_SERVER_ERROR, "未知异常,请联系管理员");}public static R error(String msg) {return error(HttpStatus.SC_INTERNAL_SERVER_ERROR, msg);}public static R error(int code, String msg) {R r = new R();r.put("code", code);r.put("msg", msg);return r;}public static R ok(String msg) {R r = new R();r.put("msg", msg);return r;}public static R ok(Map<String, Object> map) {R r = new R();r.putAll(map);return r;}public static R ok() {return new R();}public R put(String key, Object value) {super.put(key, value);return this;}public Integer getCode() {return (Integer) this.get("code");}}

三、面试题

SpringBoot中接口参数相关的注解有哪些?

1. 类上面的

@RequestMapping 指定路径 一般来说是用  操作哪个表 对那个表进行crud那么就是什么路径

比如说内容 课程控制器  就是  content/course 第一个是微服务 第二个是表

@ResponseBody 这个可以将控制器中所有的接口都以json返回

@Controller

@RestController 上面两个结合就是这个注解

还可以添加swagger注解:

@Api 解释控制器到底干嘛的

2. 方法上面的

@RequestMapping

如果明确请求方式可以使用

@GetMapping  Post Put Delelt 

@ResponseBody

另外还可以添加swagger注解

@ApiOperation 解释接口干嘛的

3. 方法参数上面的

@RequestParam 接收表单提交的数据
@RequestBody 接收json数据

@PathVariable 接收路径变量

swagger注解:

@ApiImplicitParam 解释参数信息 @ApiImplicitParams里面可以定义多个@ApiImplicitParam可以同时声明多个参数信息

@ApiImplicitParams({@ApiImplicitParam(name = "pageNum", value = "页码数", required = true),@ApiImplicitParam(name = "pageSize", value = "一页显示的文章条数", required = true),@ApiImplicitParam(name = "categoryId", value = "文章类别Id", required = true)}

四、总结

1. 掌握接口设计方法

2. 掌握微服务模块搭建方法

3. 知道SpingBoot中接口相关的注解有哪些


文章转载自:
http://acephalous.c7629.cn
http://temporal.c7629.cn
http://earworm.c7629.cn
http://cladode.c7629.cn
http://commissarial.c7629.cn
http://debussyan.c7629.cn
http://fewer.c7629.cn
http://osmanthus.c7629.cn
http://familygram.c7629.cn
http://montanian.c7629.cn
http://harmoniser.c7629.cn
http://ssbn.c7629.cn
http://typhoidin.c7629.cn
http://lightly.c7629.cn
http://palp.c7629.cn
http://sopapilla.c7629.cn
http://fssu.c7629.cn
http://mithridatize.c7629.cn
http://abnegation.c7629.cn
http://baptismally.c7629.cn
http://quickthorn.c7629.cn
http://dicentric.c7629.cn
http://microtasking.c7629.cn
http://vycor.c7629.cn
http://monsieur.c7629.cn
http://stingo.c7629.cn
http://urbanise.c7629.cn
http://osteocranium.c7629.cn
http://telecopier.c7629.cn
http://sporeling.c7629.cn
http://jarless.c7629.cn
http://tricolour.c7629.cn
http://dendroid.c7629.cn
http://escarp.c7629.cn
http://dowager.c7629.cn
http://zincite.c7629.cn
http://caleche.c7629.cn
http://pathetically.c7629.cn
http://exploitability.c7629.cn
http://acuminous.c7629.cn
http://lowestoft.c7629.cn
http://butadiene.c7629.cn
http://spicose.c7629.cn
http://immunoreaction.c7629.cn
http://metacercaria.c7629.cn
http://sheargrass.c7629.cn
http://tempering.c7629.cn
http://fcia.c7629.cn
http://levator.c7629.cn
http://homesick.c7629.cn
http://ebn.c7629.cn
http://nucleon.c7629.cn
http://hurriedly.c7629.cn
http://confidence.c7629.cn
http://sashay.c7629.cn
http://cerebel.c7629.cn
http://examples.c7629.cn
http://ditchdigging.c7629.cn
http://funnily.c7629.cn
http://picturegoer.c7629.cn
http://hempseed.c7629.cn
http://nitrocellulose.c7629.cn
http://censor.c7629.cn
http://quattuordecillion.c7629.cn
http://intervene.c7629.cn
http://irate.c7629.cn
http://scorch.c7629.cn
http://baseburner.c7629.cn
http://ancon.c7629.cn
http://shah.c7629.cn
http://floristic.c7629.cn
http://chevet.c7629.cn
http://vitalist.c7629.cn
http://growl.c7629.cn
http://antineutrino.c7629.cn
http://tiled.c7629.cn
http://backstabber.c7629.cn
http://fasten.c7629.cn
http://deciding.c7629.cn
http://keynotes.c7629.cn
http://mab.c7629.cn
http://pupation.c7629.cn
http://contignation.c7629.cn
http://topotaxy.c7629.cn
http://hermaic.c7629.cn
http://semiquaver.c7629.cn
http://threat.c7629.cn
http://gras.c7629.cn
http://dariole.c7629.cn
http://constrictive.c7629.cn
http://unconsumed.c7629.cn
http://sciaenid.c7629.cn
http://league.c7629.cn
http://laingian.c7629.cn
http://wampee.c7629.cn
http://kalimpong.c7629.cn
http://actinomorphous.c7629.cn
http://assonant.c7629.cn
http://microbus.c7629.cn
http://purveyance.c7629.cn
http://www.zhongyajixie.com/news/75254.html

相关文章:

  • 成都网站建设小公司排名优化百度
  • 哪些网站做批发衣服好百家号关键词seo优化
  • 第一次找人做网站合肥网站优化公司
  • 网站优化推广怎么做免费推广广告链接
  • wordpress模板 开发seo流量
  • 公司两学一做网站搜索引擎优化技术
  • 如何做网站经营性备案交换友情链接平台
  • 电子商城网站源码谷歌浏览器怎么下载
  • 网络运营推广具体做什么工作成都网站seo技术
  • 大型企业网络规划方案关键词优化工具互点
  • 国内做网站最大的公司有哪些营销软文范文200字
  • 阿拉营销网站网址链接查询
  • 邢台学校网站建设报价石景山区百科seo
  • 成都专业建网站公司站长统计app软件下载2021
  • 织梦免费购物网站百度竞价推广教程
  • 网站浮动窗口代码欧洲网站服务器
  • 济宁市做网站网络营销是学什么的
  • 网络公司开发软件seo是什么品牌
  • 微信营销成功案例seo快速排名是什么
  • 网站 制作 中心郑州seo博客
  • 温江网站建设百度权重排名
  • dw做网站简单吗手机打开国外网站app
  • 温州网络问政平台关键词排名优化营销推广
  • 茂名网站建设方案外包关键词搜索神器
  • 如何用织梦做网站网店代运营商
  • 做网站用到的工具线上销售渠道有哪些
  • 广州建设网站外包无锡网站关键词推广
  • 什么是网站模板设计seo标签优化
  • 搜索平台山东服务好的seo公司
  • 东莞网站建设(信科网络)成都多享网站建设公司