对比新文件 |
| | |
| | | package org.springblade.core.cloud.sentinel; |
| | | |
| | | import com.alibaba.csp.sentinel.adapter.spring.webmvc.callback.BlockExceptionHandler; |
| | | import com.alibaba.csp.sentinel.slots.block.BlockException; |
| | | import org.springblade.core.tool.api.R; |
| | | import org.springblade.core.tool.jackson.JsonUtil; |
| | | import org.springframework.http.HttpStatus; |
| | | import org.springframework.http.MediaType; |
| | | |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import javax.servlet.http.HttpServletResponse; |
| | | |
| | | /** |
| | | * Sentinel缁熶竴闄愭祦绛栫暐 |
| | | * |
| | | * @author Chill |
| | | */ |
| | | public class BladeBlockExceptionHandler implements BlockExceptionHandler { |
| | | @Override |
| | | public void handle(HttpServletRequest request, HttpServletResponse response, BlockException e) throws Exception { |
| | | // Return 429 (Too Many Requests) by default. |
| | | response.setStatus(HttpStatus.TOO_MANY_REQUESTS.value()); |
| | | response.setContentType(MediaType.APPLICATION_JSON_VALUE); |
| | | response.getWriter().print(JsonUtil.toJson(R.fail(e.getMessage()))); |
| | | } |
| | | } |