package com.dian.controller;

import com.dian.domain.Leixing;
import com.dian.service.LeixingService;
import com.dian.type.ResponseType;
import com.dian.util.FastjsonUtils;
import com.dian.vo.ResponseVo;
import com.github.pagehelper.Page;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;

/**
 * @Author www.lifedian.com
 */
@Controller
@RequestMapping(value = "/leixing", produces = {"application/json;charset=UTF-8"})
public class LeixingController extends BaseController {
    @Resource
    private LeixingService leixingService;

    @RequestMapping(value = "/page/add")
    public String addPage() {
        return "/leixing/leixing_add";
    }
    //查询
    @RequestMapping(value = "/query")
    public String query(HttpServletRequest request, @RequestParam(required = false, defaultValue = "1") int startId,
                        @RequestParam(required = false, defaultValue = "1") int pageIndex,
                        @RequestParam(required = false, defaultValue = "10") int pageSize, ModelMap modelMap) {
        Page<Leixing> result = leixingService.selectByPage(startId, pageIndex, pageSize);
        modelMap.put("leixingList", result.getResult());
        modelMap.put("page", getPageInfo(result).getHtml());
        return "/leixing/leixing_list";
    }
    //添加
    @RequestMapping(value = "/add", method = RequestMethod.POST)
    @ResponseBody
    public String editTiku(HttpServletRequest request, Leixing leixing, ModelMap modelMap) {
        if (leixing.getId() == null) {
            modelMap.put("result", new ResponseVo(leixingService.insertSelective(leixing) ? ResponseType.ADD_SUCCESS : ResponseType.ADD_FAIL));
        }
        return FastjsonUtils.serialize(modelMap);
    }
    //删除
    @RequestMapping(value = "/del/{id}")
    @ResponseBody
    public String del(@PathVariable Integer id, ModelMap modelMap) {
        Leixing leixing = new Leixing();
        leixing.setId(id);
        //直接删除
        boolean result = leixingService.deleteByPrimaryKey(id);
        //更新删除
        modelMap.put("result", new ResponseVo(result ? ResponseType.DEL_SUCCESS : ResponseType.DEL_FAIL));
        return FastjsonUtils.serialize(modelMap);
    }
    //编辑
    @RequestMapping(value = "/edit", method = RequestMethod.POST)
    @ResponseBody
    public String edit(HttpServletRequest request, Leixing leixing, ModelMap modelMap) {
        modelMap.put("result", new ResponseVo(leixingService.updateByPrimaryKeySelective(leixing) ? ResponseType.EDIT_SUCCESS : ResponseType.EDIT_FAIL));
        return FastjsonUtils.serialize(modelMap);
    }

    @RequestMapping(value = "/page/edit/{id}")
    public String editTiku(@PathVariable Integer id, ModelMap modelMap) {
        Leixing result = leixingService.selectByPrimaryKey(id);
        modelMap.put("result", result);
        return "/leixing/leixing_edit";
    }
}

该代码定义了一个名为 LeixingController 的控制器类,它使用 Spring 框架的注解来处理 HTTP 请求和响应。该类中定义了多个方法,包括:

  • addPage():返回添加 Leixing 实体的页面。
  • query():根据传入的参数查询 Leixing 实体列表,并返回分页结果。
  • editTiku():添加或更新 Leixing 实体,并返回操作结果。
  • del():删除指定 ID 的 Leixing 实体,并返回操作结果。
  • edit():更新指定 ID 的 Leixing 实体,并返回操作结果。
  • editTiku():返回编辑指定 ID 的 Leixing 实体的页面。

该控制器类使用 LeixingService 接口来处理 Leixing 实体的业务逻辑,并使用 FastjsonUtils 工具类将 Java 对象转换为 JSON 格式的字符串。

该代码使用了 RESTful API 的风格,每个方法都对应一个特定的 HTTP 请求方法,例如:

  • GET /leixing/query:查询 Leixing 实体列表。
  • POST /leixing/add:添加新的 Leixing 实体。
  • DELETE /leixing/del/{id}:删除指定 ID 的 Leixing 实体。
  • PUT /leixing/edit:更新指定 ID 的 Leixing 实体。

该代码还使用了分页功能,query() 方法使用了 com.github.pagehelper 库来实现分页查询。该库可以方便地实现数据分页,并返回分页结果信息。

总而言之,该代码定义了一个 RESTful API 接口,用于对 Leixing 实体进行增删改查操作。该 API 使用 Spring 框架构建,并提供了分页功能,可以方便地集成到其他应用中。

Leixing 实体管理 RESTful API 接口 -  添加、删除、编辑、查询

原文地址: https://www.cveoy.top/t/topic/kLvI 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录