JAVA语言之Java的新项目学成在线笔记-day1(八)
小标 2019-03-04 来源 : 阅读 516 评论 0

摘要:本文主要向大家介绍了JAVA语言之Java的新项目学成在线笔记-day1(八),通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助。

本文主要向大家介绍了JAVA语言之Java的新项目学成在线笔记-day1(八),通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助。

JAVA语言之Java的新项目学成在线笔记-day1(八)

6.4 Controller  
使用springMVC完成接口实现开发。


package com.xuecheng.manage_cms.web.controller;
   import com.xuecheng.api.cms.CmsPageControllerApi;
 import com.xuecheng.framework.domain.cms.request.QueryPageRequest; 
import com.xuecheng.framework.model.response.QueryResponseResult;
 import com.xuecheng.manage_cms.service.PageService; 
import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.RestController;  
 @RestController public class CmsPageController implements CmsPageControllerApi { 
   @Autowired   
  PageService pageService;   
  @Override  
   @GetMapping("/list/{page}/{size}")  
  public QueryResponseResult findList(@PathVariable("page") int page,
 @PathVariable("size")  int size, QueryPageRequest queryPageRequest) {   
     return pageService.findList(page,size,queryPageRequest);  
   } }


使用浏览器测试
输入://localhost:31001/cms/page/list/1/10 查询第1页,每页显示10条记录。   6.6 接口开发规范 
6.6.1 Api请求及响应规范 
为了严格按照接口进行开发,提高效率,对请求及响应格式进行规范化。
1、get 请求时,采用key/value格式请求,SpringMVC可采用基本类型的变量接收,也可以采用对象接收。
2、Post请求时,可以提交form表单数据(application/x-www-form-urlencoded)和Json数据(ContentType=application/json),文件等多部件类型(multipart/form-data)三种数据格式,SpringMVC接收Json数据 使用@RequestBody注解解析请求的json数据。 4、响应结果统一信息为:是否成功、操作代码、提示信息及自定义数据。
5、响应结果统一格式为json。 6.6.2 Api定义约束 


Api定义使用SpringMVC来完成,由于此接口后期将作为微服务远程调用使用,在定义接口时有如下限制: 1、@PathVariable 统一指定参数名称,如:@PathVariable("id") 2、@RequestParam统一指定参数名称,如: @RequestParam("id")
7 页面查询接口测试 


上边的代码是基于服务端编写接口,如果前端人员等待服务端人员将接口开发完毕再去开发前端内容这样做效率是 非常低下的,所以当接口定义完成,可以使用工具生成接口文档,前端人员查看接口文档即可进行前端开发,这样 前端和服务人员并行开发,大大提高了生产效率。
本章节介绍两种接口开发工具,Swagger和Postman。 7.1 Swagger 
7.1.1 Swagger介绍 
OpenAPI规范(OpenAPI Specification 简称OAS)是Linux基金会的一个项目,试图通过定义一种用来描述API格 式或API定义的语言,来规范RESTful服务开发过程,目前版本是V3.0,并且已经发布并开源在github上。
(https://github.com/OAI/OpenAPI-Specification) Swagger是全球最大的OpenAPI规范(OAS)API开发工具框架,支持从设计和文档到测试和部署的整个API生命周 期的开发。 (https://swagger.io/)
Spring Boot 可以集成Swagger,生成Swagger接口,Spring Boot是Java领域的神器,它是Spring项目下快速构建 项目的框架。 


7.1.2 Swagger常用注解 
在Java类中添加Swagger的注解即可生成Swagger接口,常用Swagger注解如下:
@Api:修饰整个类,描述Controller的作用 @ApiOperation:描述一个类的一个方法,或者说一个接口 @ApiParam:单个参数描述 @ApiModel:用对象来接收参数 @ApiModelProperty:用对象接收参数时,描述对 象的一个字段 @ApiResponse:HTTP响应其中1个描述 @ApiResponses:HTTP响应整体描述 @ApiIgnore:使用 该注解忽略这个API @ApiError :发生错误返回的信息 @ApiImplicitParam:一个请求参数 @ApiImplicitParams:多个请求参数   @ApiImplicitParam属性:


7.1.3 Swagger接口定义 
修改接口工程中页面查询接口,添加Swagger注解。


[mw_shl_code=applescript,true]@Api(value="cms页面管理接口",description = "cms页面管理接口,提供页面的增、删、改、查")
public interface CmsPageControllerApi {
@ApiOperation("分页查询页面列表")
@ApiImplicitParams({
@ApiImplicitParam(name="page",value = "页 码",required=true,paramType="path",dataType="int"),
@ApiImplicitParam(name="size",value = "每页记录 数",required=true,paramType="path",dataType="int")
})
public QueryResponseResult findList(int page, int size, QueryPageRequest queryPageRequest) ; 
}
[/mw_shl_code]


在QueryPageRequest类中使用注解 ApiModelProperty 对属性注释:


@Data
public class QueryPageRequest extends RequestData {  
  //站点id  
 @ApiModelProperty("站点id")
    private String siteId;  
   //页面ID     
@ApiModelProperty("页面ID")
    private String pageId;   
  //页面名称  
   @ApiModelProperty("页面名称") 
   private String pageName; 
    //页面别名   
  @ApiModelProperty("页面别名")   
 private String pageAliase; 
    //模版id 
   @ApiModelProperty("模版id")  
  private String templateId;  
 }

   

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注编程语言JAVA频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 1 不喜欢 | 0
看完这篇文章有何感觉?已经有1人表态,100%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程