diff --git a/src/main/java/org/cmh/backend/NewsManagement/controller/NewsController.java b/src/main/java/org/cmh/backend/NewsManagement/controller/NewsController.java index e677ca0..7b63102 100644 --- a/src/main/java/org/cmh/backend/NewsManagement/controller/NewsController.java +++ b/src/main/java/org/cmh/backend/NewsManagement/controller/NewsController.java @@ -24,6 +24,15 @@ public class NewsController { return new ResponseEntity<>(newsService.getNewsByPage(pageNo, pageSize), HttpStatus.OK); } + @GetMapping("/{id}") + public ResponseEntity getNewsPage(@PathVariable Long id) { + try { + return new ResponseEntity<>(newsService.getNewsById(id), HttpStatus.OK); + } catch (EntityNotFoundException e) { + return new ResponseEntity<>(HttpStatus.NOT_FOUND); + } + } + @PostMapping @JwtVerify public ResponseEntity createNews(@RequestBody NewsRequest request) { @@ -34,7 +43,7 @@ public class NewsController { } catch (Exception e) { return new ResponseEntity<>(new MessageResponse("创建失败:" + e.getMessage()), HttpStatus.BAD_REQUEST); } - return new ResponseEntity<>(new MessageResponse("创建成功"), HttpStatus.OK); + return new ResponseEntity<>(new MessageResponse("创建成功"), HttpStatus.CREATED); } @PutMapping("/{id}") diff --git a/src/main/java/org/cmh/backend/NewsManagement/service/NewsService.java b/src/main/java/org/cmh/backend/NewsManagement/service/NewsService.java index a802298..0396114 100644 --- a/src/main/java/org/cmh/backend/NewsManagement/service/NewsService.java +++ b/src/main/java/org/cmh/backend/NewsManagement/service/NewsService.java @@ -54,4 +54,11 @@ public class NewsService { } newsRepository.deleteById(id); } + + public News getNewsById(Long id) { + if (!newsRepository.existsById(id)) { + throw new EntityNotFoundException(); + } + return newsRepository.findById(id).orElse(null); + } }