Skip to content

Commit 685a972

Browse files
committed
feat: 어드민용 키워드별 추천 포스트 기능 컨트롤러 구현
#1397
1 parent 4515f33 commit 685a972

File tree

1 file changed

+43
-0
lines changed

1 file changed

+43
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
package wooteco.prolog.roadmap.ui;
2+
3+
import org.springframework.http.ResponseEntity;
4+
import org.springframework.web.bind.annotation.*;
5+
import wooteco.prolog.roadmap.application.RecommendedService;
6+
import wooteco.prolog.roadmap.application.dto.RecommendedRequest;
7+
import wooteco.prolog.roadmap.application.dto.RecommendedUpdateRequest;
8+
9+
import java.net.URI;
10+
11+
@RestController
12+
@RequestMapping("/keywords/{keywordId}/recommended-posts")
13+
public class RecommendedController {
14+
15+
private final RecommendedService recommendedService;
16+
17+
public RecommendedController(final RecommendedService recommendedService) {
18+
this.recommendedService = recommendedService;
19+
}
20+
21+
@PostMapping
22+
public ResponseEntity<Void> createRecommendedPost(@PathVariable("keywordId") Long keywordId,
23+
@RequestBody RecommendedRequest request) {
24+
final Long id = recommendedService.create(keywordId, request);
25+
return ResponseEntity.created(
26+
URI.create("/keywords/" + keywordId + "/recommended-posts/" + id)).build();
27+
}
28+
29+
@PutMapping("/{recommendedId}")
30+
public ResponseEntity<Void> updateRecommendedPost(@PathVariable("keywordId") Long keywordId,
31+
@PathVariable("recommendedId") Long recommendedId,
32+
@RequestBody RecommendedUpdateRequest request) {
33+
recommendedService.update(recommendedId, request);
34+
return ResponseEntity.ok().build();
35+
}
36+
37+
@DeleteMapping("/{recommendedId}")
38+
public ResponseEntity<Void> deleteRecommendedPost(@PathVariable("keywordId") Long keywordId,
39+
@PathVariable("recommendedId") Long recommendedId) {
40+
recommendedService.delete(recommendedId);
41+
return ResponseEntity.noContent().build();
42+
}
43+
}

0 commit comments

Comments
 (0)