From 1a6f549fbf79449eccaf4bb3073f646acf52a8b3 Mon Sep 17 00:00:00 2001 From: johnniang Date: Wed, 3 Apr 2019 12:16:12 +0800 Subject: [PATCH] Complete portal option apis --- .../portal/api/OptionController.java | 49 +++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 src/main/java/cc/ryanc/halo/web/controller/portal/api/OptionController.java diff --git a/src/main/java/cc/ryanc/halo/web/controller/portal/api/OptionController.java b/src/main/java/cc/ryanc/halo/web/controller/portal/api/OptionController.java new file mode 100644 index 000000000..7a2a2cd1a --- /dev/null +++ b/src/main/java/cc/ryanc/halo/web/controller/portal/api/OptionController.java @@ -0,0 +1,49 @@ +package cc.ryanc.halo.web.controller.portal.api; + +import cc.ryanc.halo.model.dto.OptionOutputDTO; +import cc.ryanc.halo.model.support.BaseResponse; +import cc.ryanc.halo.service.OptionService; +import io.swagger.annotations.ApiOperation; +import org.springframework.http.HttpStatus; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; +import java.util.Map; + +/** + * Portal option controller. + * + * @author johnniang + * @date 4/3/19 + */ +@RestController("PortalOptionController") +@RequestMapping("/api/options") +public class OptionController { + + private final OptionService optionService; + + public OptionController(OptionService optionService) { + this.optionService = optionService; + } + + @GetMapping("list_view") + @ApiOperation("Lists all options with list view") + public List listAll() { + return optionService.listDtos(); + } + + @GetMapping("map_view") + @ApiOperation("Lists all options with map view") + public Map listAllWithMapView() { + return optionService.listOptions(); + } + + @GetMapping("keys/{key}") + @ApiOperation("Gets option value by option key") + public BaseResponse getBy(@PathVariable("key") String key) { + return BaseResponse.ok(HttpStatus.OK.getReasonPhrase(), optionService.getByKey(key).orElse("")); + } +}