diff --git a/pom.xml b/pom.xml index 8eefb33b..2134e8d8 100644 --- a/pom.xml +++ b/pom.xml @@ -65,6 +65,11 @@ lombok true + + org.springframework.data + spring-data-jpa + + org.springframework.boot spring-boot-starter-test diff --git a/src/main/java/cn/lihongjie/coal/config/RResponseBodyAdvice.java b/src/main/java/cn/lihongjie/coal/config/RResponseBodyAdvice.java new file mode 100644 index 00000000..891329dc --- /dev/null +++ b/src/main/java/cn/lihongjie/coal/config/RResponseBodyAdvice.java @@ -0,0 +1,38 @@ +package cn.lihongjie.coal.config; + +import cn.lihongjie.coal.dto.R; +import org.springframework.core.MethodParameter; +import org.springframework.http.MediaType; +import org.springframework.http.converter.HttpMessageConverter; +import org.springframework.http.server.ServerHttpRequest; +import org.springframework.http.server.ServerHttpResponse; +import org.springframework.web.bind.annotation.ControllerAdvice; +import org.springframework.web.bind.annotation.RestControllerAdvice; +import org.springframework.web.servlet.mvc.method.annotation.ResponseBodyAdvice; + +@RestControllerAdvice +public class RResponseBodyAdvice implements ResponseBodyAdvice { + + @Override + public boolean supports(MethodParameter returnType, Class> converterType) { + + return true; + + + } + + @Override + public Object beforeBodyWrite(Object body, MethodParameter returnType, MediaType selectedContentType, Class> selectedConverterType, ServerHttpRequest request, ServerHttpResponse response) { + + if (!selectedContentType.includes(MediaType.APPLICATION_JSON)) { + return body; + } + + + if (body instanceof R) { + return body; + } + + return R.success(body); + } +} diff --git a/src/main/java/cn/lihongjie/coal/controller/CoalController.java b/src/main/java/cn/lihongjie/coal/controller/CoalController.java index 9134e642..075229d0 100644 --- a/src/main/java/cn/lihongjie/coal/controller/CoalController.java +++ b/src/main/java/cn/lihongjie/coal/controller/CoalController.java @@ -26,17 +26,16 @@ public class CoalController { @PostMapping("/blend") - public R blend(@RequestBody CoalBlendRequest request){ + public CoalBlendResult blend(@RequestBody CoalBlendRequest request){ - return R.success(coalService.blend(request)); + return coalService.blend(request); } @PostMapping("/params") - public R> params(){ + public List params(){ - throw new BizException(); -// return R.success(coalService.paramDefs()); + return coalService.paramDefs(); }