package com.yaoyuan.jiscuss.controller.api; import com.yaoyuan.jiscuss.entity.User; import com.yaoyuan.jiscuss.exception.BaseException; import com.yaoyuan.jiscuss.response.ResponseCode; import com.yaoyuan.jiscuss.service.IUsersService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PutMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.List; @RestController @RequestMapping("/user_api") @Tag(name = "用户接口管理", description = "用户 CRUD API") public class RestUserController { private static final Logger logger = LoggerFactory.getLogger(RestUserController.class); @Autowired private IUsersService usersService; @PostMapping("/user") @Operation(summary = "新增用户") public User save(@RequestBody User user) { User saveUser = usersService.insert(user); if (saveUser != null) { return saveUser; } else { throw new BaseException(ResponseCode.RESOURCES_NOT_EXIST); } } @DeleteMapping("/user/{id}") @Operation(summary = "删除用户") public Boolean delete(@PathVariable Integer id) { usersService.remove(id); return true; } @PutMapping("/user/{id}") @Operation(summary = "修改用户") public User update(@RequestBody User user, @PathVariable Integer id) { User updateuser = usersService.update(user, id); if (updateuser != null) { return updateuser; } else { throw new BaseException(ResponseCode.RESOURCES_NOT_EXIST); } } @GetMapping("/user/{id}") @Operation(summary = "获取用户") public User getUser(@PathVariable Integer id) { User user = usersService.findOne(id); logger.info("获取用户==>:{}", user); return user; } @GetMapping("/user") @Operation(summary = "获取全部用户") public List getAllUsers() { return usersService.getAllList(); } }