• 阶段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服务端开发代码xcEduService01xc-framework-modelsrcmainjavacomxuechengframeworkdomaincms equestQueryPageRequest.java
    在request下新建QueryPageRequest



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

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

    api下定义接口

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

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






    数据的响应类


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

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



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




     

  • 相关阅读:
    重载运算符
    旅行家的预算(贪心)
    树屋阶梯(卡特兰数+高精除低精+高精乘低精)
    种树 3(差分约束)
    差分约束系统详解
    最优分解方案(贪心+高精乘单精)
    雷达安装(贪心)
    加工生产调度(Johnson算法 双机流水作业调度问题)

    Jquery整理
  • 原文地址:https://www.cnblogs.com/wangjunwei/p/11540068.html
Copyright © 2020-2023  润新知