A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 谷粒姐姐 于 2018-12-19 16:29 编辑

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

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

[AppleScript] 纯文本查看 复制代码
[mw_shl_code=applescript,true] @Data @ToString @Document(collection = "cms_page") public class CmsPage {   
  /**      * 页面名称、别名、访问地址、类型(静态/动态)、页面模版、状态  
    */
    //站点ID

[AppleScript] 纯文本查看 复制代码
  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;  
 }
[/mw_shl_code]
属性说明:
1、定义一个页面需要指定页面所属站点
一个站点包括多个页面,比如:学成在线的门户站点(网站)包括了多个页面。
2、定义一个页面需要指定页面使用的模板
多个页面可以使用相同的模板,比如:商品信息模板,每个商品就是一个页面,所有商品使用同一个商品信息模板
注解说明:
@Data、@ToString、@Document注解表示什么意思? @Data、@ToString:是Lombok提供的注解,下边会介绍。 @Document:是Spring Data mongodb提供的注解,最终CMS的开发会使用Mongodb数据库。

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注解生成通用方法。
[AppleScript] 纯文本查看 复制代码
[mw_shl_code=applescript,true]
<dependency>    
 <groupId>org.projectlombok</groupId>  
   <artifactId>lombok</artifactId> </dependency>
[/mw_shl_code]
2、在IDEA开发工具中添加Lombok插件 作用:使用IDEA开发时根据Lombok注解生成通用方法,不报错。




0 个回复

您需要登录后才可以回帖 登录 | 加入黑马