TagsController.java 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. package com.nosum.deliver.category.controller;
  2. import com.nosum.common.annotation.LoginRequired;
  3. import com.nosum.common.base.domain.Result;
  4. import com.nosum.common.util.ThrowableUtils;
  5. import com.nosum.common.validator.group.Insert;
  6. import com.nosum.common.validator.group.Update;
  7. import com.nosum.deliver.category.domain.vo.TagsVO;
  8. import com.nosum.deliver.category.service.TagsService;
  9. import org.springframework.beans.factory.annotation.Autowired;
  10. import org.springframework.validation.BindingResult;
  11. import org.springframework.validation.annotation.Validated;
  12. import org.springframework.web.bind.annotation.DeleteMapping;
  13. import org.springframework.web.bind.annotation.GetMapping;
  14. import org.springframework.web.bind.annotation.PathVariable;
  15. import org.springframework.web.bind.annotation.PostMapping;
  16. import org.springframework.web.bind.annotation.PutMapping;
  17. import org.springframework.web.bind.annotation.RequestBody;
  18. import org.springframework.web.bind.annotation.RequestMapping;
  19. import org.springframework.web.bind.annotation.RestController;
  20. /**
  21. * @author sumbytes
  22. * @since 2019-08-28
  23. */
  24. @RestController
  25. @RequestMapping("/tags")
  26. public class TagsController {
  27. @Autowired
  28. private TagsService tagsService;
  29. @GetMapping("/tags/v1/list")
  30. public Result getTagsList(TagsVO tagsVO) {
  31. return this.tagsService.getTagsList(tagsVO);
  32. }
  33. @GetMapping("/tags-article-quantity/v1/list")
  34. public Result getTagsAndArticleQuantityList(TagsVO tagsVO, BindingResult result) {
  35. ThrowableUtils.checkParamArgument(result);
  36. return this.tagsService.getTagsAndArticleQuantityList(tagsVO);
  37. }
  38. @GetMapping("/tags/v1/{id}")
  39. public Result getTags(@PathVariable Long id) {
  40. return this.tagsService.getTags(id);
  41. }
  42. @LoginRequired
  43. @PostMapping("/tags/v1/add")
  44. public Result saveTags(@Validated({Insert.class}) @RequestBody TagsVO tagsVO,BindingResult result) {
  45. ThrowableUtils.checkParamArgument(result);
  46. return this.tagsService.saveTags(tagsVO);
  47. }
  48. @LoginRequired
  49. @PutMapping("/tags/v1/update")
  50. public Result updateTags(@Validated({Update.class}) @RequestBody TagsVO tagsVO,BindingResult result) {
  51. ThrowableUtils.checkParamArgument(result);
  52. return this.tagsService.updateTags(tagsVO);
  53. }
  54. @LoginRequired
  55. @DeleteMapping("/tags/v1/{id}")
  56. public Result updateTags(@PathVariable Long id) {
  57. return this.tagsService.deleteTags(id);
  58. }
  59. }