🚩 写在前面
我为什么要花时间去写这个笔记?
由于在学习该项目的过程中发现了原讲义存在的一些问题,所以该笔记基于「学成在线」微服务项目 PDF
讲义进行编写,并且投入了时间去优化了笔记的格式、代码的高亮、重点的标记等。
以及一些原讲义中所描述的一些知识点使我无法理解的内容,我会对这些内容的表达方式进行修改或者提出一些问题,并且用我自己所理解的一些想法去重新的解释这个问题。
总结一下原 PDF
讲义中已知的一些问题:
- 从
PDF
中复制出来的代码,部分特殊符号的编码有问题,并且不易被发现,例如横杠-
,从PDF直接复制出来的话是无法运行的。 - 有时候一些重复且简单的代码,我们需要直接从讲义中直接复制,而部分PDF编辑器复制出来的代码格式可能会变乱,且PDF中没有代码高亮,代码可阅读性差,并且复制出来时会有代码缩进错乱等问题。
- 部分内容是重点但在讲义中只是简单的描述,这并不方便我们后期回顾该课程的知识点,所以我在一些重点的内容上加上了更多的解释。
如有不足的地方,欢迎小伙伴们补充、填坑。
😎 知识点概览
为了方便后续回顾该项目时能够清晰的知道本章节讲了哪些内容,并且能够从该章节的笔记中得到一些帮助,所以在完成本章节的学习后在此对本章节所涉及到的知识点进行总结概述。
本章节为【学成在线】项目的 day01
的内容
- 搭建门户页面
- 搭建服务端基础工程
- 页面查询服务的构建
- 使用
MangoDB
进行CRUD
操作 -
Swagger
的基本使用 -
Postman
的基本使用
目录
文章目录
一、项目架构
0x01 业务架构
0x02 技术架构
二、CMS 门户工程搭建
0x01 安装 WebStorm
参考 WebStorm安装手册.md
安装WebStorm,导入 资料\门户\xc-ui-pc-static-portal.rar
压缩包下的内容。
0x02 Nginx虚拟主机
在nginx中配置虚拟主机:
server{
listen 80;
server_name www.xuecheng.com;
ssi on;
ssi_silent_errors on;
location / {
alias F:/teach/xcEdu/xcEduUI/xc‐ui‐pc‐static‐portal/;
index index.html;
}
}
F:/teach/xcEdu/xcEduUI/xc-ui-pc-static-portal/ 本目录即为门户的主目录,自行修改为自己的路径
三、CMS 服务端工程搭建
0x01 基础工程搭建
创建一个项目文件夹 xcEduService01
导入 资料\基础工程\基础工程.zip
中的基础工程,并依次将所有基础工程添加至pom
项目中
0x02 导入MongoDB数据
搭建好mongodb数据库后,导入 资料\mongodb\xc_cms
内的json数据
0x03 定义接口
定义请求以及相应类型
在 domain.cms.request
下创建 QueryPageRequest
并继承 RequestData
package com.xuecheng.framework.domain.cms.request;
import com.xuecheng.framework.model.request.RequestData;
import lombok.Data;
@Data
public class QueryPageRequest extends RequestData {
//站点id
private String siteId;
//页面id
private String pageId;
//页面名称
private String pageName;
//别名
private String pageAliase;
//模板id
private String templateId;
}
定义响应接口
在 com.xuecheng.api.cms
下定义 CmsPageControllerApi
查询列表的响应格式统一为 QueryResponseResult
package com.xuecheng.api.cms;
import com.xuecheng.framework.domain.cms.request.QueryPageRequest;
import com.xuecheng.framework.model.response.QueryResponseResult;
/**
* 分页查询接口
*/
public interface CmsPageControllerApi {
public QueryResponseResult findList(int page, int size, QueryPageRequest queryPageRequest);
}
四、页面查询服务开发
0x01 创建CMS服务工程
导入 pom.xml
配置
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>xc-framework-parent</artifactId>
<groupId>com.xuecheng</groupId>
<version>1.0-SNAPSHOT</version>
<relativePath>../xc-framework-parent/pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>xc-service-manage-cms</artifactId>
<dependencies>
<dependency>
<groupId>com.xuecheng</groupId>
<artifactId>xc-service-api</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.xuecheng</groupId>
<artifactId>xc-framework-model</artifactId><version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.xuecheng</groupId>
<artifactId>xc-framework-utils</artifactId>