cms04--后端-网站管理修改页面接口

修改页面

修改页面用户操作流程:

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注解

HuangRui

Every man dies, not every man really lives.

HaungRui, China suixinblog.cn