修改页面
修改页面用户操作流程:
1、用户进入修改页面,在页面上显示了修改页面的信息
2、用户修改页面的内容,点击“提交”,提示“修改成功”或“修改失败”
修改页面接口定义
/**
* 根据页面id查询页面信息
*/
@ApiOperation("根据id查询页面接口")
public CmsPage findPageById(String pageId);
/**
* 修改页面
*/
@ApiOperation("修改页面接口")
public CmsPageResult editPage(String pageId,CmsPage cmsPage);
说明:提交数据使用post、put都可以,只是根据http方法的规范,put方法是对服务器指定资源进行修改,所以这里使用put方法对页面修改进行修改。
修改页面服务端开发
Dao
使用 Spring Data提供的fifindById方法完成根据主键查询 。
使用 Spring Data提供的save方法完成数据保存 。
Service
/**
* 根据id查询页面
* @param pageId
* @return
*/
public CmsPage findPageById(String pageId) {
Optional<CmsPage> optional = cmsPageRepository.findById(pageId);
if (optional.isPresent()) {
CmsPage cmsPage = optional.get();
return cmsPage;
}
return null;
}
/**
* 修改页面
* @param pageId
* @param cmsPage
* @return
*/
public CmsPageResult editPage(String pageId, CmsPage cmsPage) {
// 调用方法查询是否存在
CmsPage pageById = this.findPageById(pageId);
if (pageById != null) {
// 不存在就修改,最好逐条设置,因为有些数据不能修改的
pageById.setTemplateId(cmsPage.getTemplateId());
pageById.setSiteId(cmsPage.getSiteId());
pageById.setPageAliase(cmsPage.getPageAliase());
pageById.setPageName(cmsPage.getPageName());
pageById.setPageWebPath(cmsPage.getPageWebPath());
pageById.setPagePhysicalPath(cmsPage.getPagePhysicalPath());
cmsPageRepository.save(pageById);
return new CmsPageResult(CommonCode.SUCCESS, pageById);
}
// 修改失败
return new CmsPageResult(CommonCode.FAIL, null);
}
Controller
/**
* 根据id查询
* @param pageId
* @return
*/
@Override
@GetMapping("/get/{id}")
public CmsPage findPageById( @PathVariable("id") String pageId) {
return pageService.findPageById(pageId);
}
/**
* 修改页面
* @param pageId
* @param cmsPage
* @return
*/
@Override
// 根据http规范,put表示更新
@PutMapping("/edit/{id}")
public CmsPageResult editPage(@PathVariable("id") String pageId, @RequestBody CmsPage cmsPage) {
return pageService.editPage(pageId,cmsPage);
}
注意:修改页面接口,因为要往后端提交数据,而前端修改界面提交时要将数据封装为JSON对象,才能转成对象cmsPage,所以要加上注解@RequestBody注解