阶段5 3.微服务项目【学成在线】_day01 搭建环境 CMS服务端开发_18-页面查询接口定义-定义接口


根据需求定义接口

5.1.1 需求分析
在梳理完用户需求后就要去定义前后端的接口,接口定义后前端和后端就可以依据接口去开发功能了。
本次定义页面查询接口,本接口供前端请求查询页面列表,支持分页及自定义条件查询方式。
具体需求如下:
1、分页查询CmsPage 集合下的数据
2、根据站点Id、模板Id、页面别名查询页面信息
3、接口基于Http Get请求,响应Json数据

5.1.2 模型类介绍
接口的定义离不开数据模型,根据前边对需求的分析,整个页面管理模块的数据模型如下:

 

 

 CmsSite:站点模型
CmsTemplate:页面模板
CmsPage:页面信息

页面信息如下:

package com.xuecheng.framework.domain.cms;

import lombok.Data;
import lombok.ToString;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;

import java.util.Date;
import java.util.List;

/**
 * @Author: mrt.
 * @Description:
 * @Date:Created in 2018/1/24 10:04.
 * @Modified By:
 */
@Data
@ToString
@Document(collection = "cms_page")
public class CmsPage {
    /**
     * 页面名称、别名、访问地址、类型(静态/动态)、页面模版、状态
     */
    //站点ID
    private String siteId;
    //页面ID
    @Id
    private String pageId;
    //页面名称
    private String pageName;
    //别名
    private String pageAliase;
    //访问地址
    private String pageWebPath;
    //参数
    private String pageParameter;
    //物理路径
    private String pagePhysicalPath;
    //类型(静态/动态)
    private String pageType;
    //页面模版
    private String pageTemplate;
    //页面静态化内容
    private String pageHtml;
    //状态
    private String pageStatus;
    //创建时间
    private Date pageCreateTime;
    //模版id
    private String templateId;
    //参数列表
    private List<CmsPageParam> pageParams;
    //模版文件Id
//    private String templateFileId;
    //静态文件Id
    private String htmlFileId;
    //数据Url
    private String dataUrl;

}

 

5.2.3 Lombok

上边的Data注解表示什么意思呢?Data注解,ToString注解都是Lombok提供的注解。
Lombok是一个实用的java工具,使用它可以消除java代码的臃肿,Lombok提供一系列的注解,使用这些注解可
以不用定义getter/setter、equals、构造方法等,它会在编译时在字节码文件自动生成这些通用的方法,简化开发
人员的工作。
项目官方地址:https://www.projectlombok.org/
比如上节创建的UserTest模型,@Data注解可以自动生成getter/setter方法,@ToString生成tostring方法。
使用方法:
1、在项目中添加Lombok的依赖
作用:项目在编译时根据Lombok注解生成通用方法。

<dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
    </dependency>

2、在IDEA开发工具中添加Lombok插件
作用:使用IDEA开发时根据Lombok注解生成通用方法,不报错。

 

 

插件安装的方法:

IntelliJ IDEA lombok插件的安装和使用

https://jingyan.baidu.com/article/0a52e3f4e53ca1bf63ed725c.html

5.2定义接口

5.2.1 定义请求及响应类型
1、定义请求模型QueryPageRequest,此模型作为查询条件类型
为后期扩展需求,请求类型统一继承RequestData类型。


\阶段5 3.微服务项目【学成在线】·\day01 搭建环境 CMS服务端开发\代码\xcEduService01\xc-framework-model\src\main\java\com\xuecheng\framework\domain\cms\request\QueryPageRequest.java
在request下新建QueryPageRequest



它需要get 和set方法,这里使用@Data注解.

@Data注解是包import lombok.Data;下的

api下定义接口

在Api接口工程专门定义接口,在Api工程单独定义接口的原因如下:
1、接口集中管理
2、Api工程的接口将作为各微服务远程调用使用。

 

在cms文件夹下定义 :CmsPageControllerApi 接口






数据的响应类


QueryResult里面包含了一个List一个total

ReponseResult。有三个属性,是否操作成功,操作代码,提示信息



定义接口,首先要明白需求,要实现什么接口,请求什么,响应什么
模型类最终响应输出的结果




 

posted @ 2019-09-18 10:25  高山-景行  阅读(254)  评论(0编辑  收藏  举报