package com.tong.common.web.web;
import com.baomidou.mybatisplus.extension.service.IService;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.*;
import java.util.List;
public abstract class IController<S extends IService<T>, T> {
@Autowired
protected S service;
/**
* 根据主键获取业务信息
*
* @param id 主键
* @return
* @throws Exception
*/
@GetMapping("/{id}")
@ApiOperation("根据主键获取业务信息")
public T get(@PathVariable String id) throws Exception {
return service.getById(id);
}
/**
* 保存或更新业务信息
*
* @param t 业务基本信息
* @return
* @throws Exception
*/
@PostMapping("/save")
@ApiOperation("保存或更新业务信息")
public T save(T t) throws Exception {
service.saveOrUpdate(t);
return t;
}
/**
* 根据主键删除业务信息
*
* @param id 主键
* @return
* @throws Exception
*/
@DeleteMapping("/{id}")
@ApiOperation("根据主键删除业务信息")
public int delete(@PathVariable String id) throws Exception {
service.removeById(id);
return 1;
}
/**
* 根据主键批量删除业务信息
*
* @param id 主键
* @return
* @throws Exception
*/
@DeleteMapping
@ApiOperation("根据主键批量删除业务信息")
public int delete(@RequestParam List<String> id) throws Exception {
if (CollectionUtils.isEmpty(id)) return 0;
service.removeByIds(id);
return id.size();
}
}
配合Mybatis-Plus的公共类,IController(CommonController),利用泛型,直接生成较为简单的接口
于 2022-05-16 13:16:30 首次发布