zoukankan      html  css  js  c++  java
  • 阶段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。有三个属性,是否操作成功,操作代码,提示信息



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




     

  • 相关阅读:
    数据结构(2)-链表
    数据结构(1)-数组
    SpringMVC学习总结(一)--Hello World入门
    基本数据类型对象的包装类
    关于String的相关常见方法
    常见的集合容器应当避免的坑
    再一次生产 CPU 高负载排查实践
    分表后需要注意的二三事
    线程池没你想的那么简单(续)
    线程池没你想的那么简单
  • 原文地址:https://www.cnblogs.com/wangjunwei/p/11540068.html
Copyright © 2011-2022 走看看