ArticleAuthorController

@RestController
@RequestMapping(value = ["/api/v1/articles"])
class ArticleAuthorController(articleService: ArticleAuthorService)

게시글 작성자 API 컨트롤러

Constructors

Link copied to clipboard
constructor(articleService: ArticleAuthorService)

Functions

Link copied to clipboard
@PostMapping(consumes = ["multipart/form-data"])
@PreAuthorize(value = "isAuthenticated()")
fun createArticle(@AuthenticationPrincipal userDetails: UserDetails, @Valid @ModelAttribute articleForm: ArticleForm): ResponseEntity<ArticleResponse>
Link copied to clipboard
@DeleteMapping(value = ["/{articleId}"])
@PreAuthorize(value = "isAuthenticated() and (hasRole('ROLE_ADMIN') or @articleValidator.isEditable(#articleId, #userDetails.username))")
fun deleteArticle(@AuthenticationPrincipal userDetails: UserDetails, @PathVariable articleId: Long): ResponseEntity<Unit>
Link copied to clipboard
@PatchMapping(value = ["/{articleId}"], consumes = ["multipart/form-data"])
@PreAuthorize(value = "isAuthenticated() and (hasRole('ROLE_ADMIN') or @articleValidator.isEditable(#articleId, #userDetails.username))")
fun updateArticle(@AuthenticationPrincipal userDetails: UserDetails, @PathVariable articleId: Long, @Valid @ModelAttribute articleUpdateForm: ArticleUpdateForm): ResponseEntity<ArticleResponse>