当前位置: 首页 > news >正文

访问国外网站dns如何自己建立自己的网站

访问国外网站dns,如何自己建立自己的网站,网站建设 麓谷,网站如何生成静态统一返回结果 定义统一返回结果类ResultResponse定义新注解ResponseResult来标记需要拦截的方法或类添加RestControllerAdvice注解,实现ResponseBodyAdvice接口,重写support, beforeBodyWrite方法 统一结果类ResultResponse Setter Getter public cla…

统一返回结果

  1. 定义统一返回结果类ResultResponse
  2. 定义新注解@ResponseResult来标记需要拦截的方法或类
  3. 添加RestControllerAdvice注解,实现ResponseBodyAdvice接口,重写support, beforeBodyWrite方法

统一结果类ResultResponse

@Setter
@Getter
public class ResultResponse<T> {/*** 响应代码*/private String code;/*** 响应消息*/private String message;/*** 响应结果*/private T result;public ResultResponse() {}public ResultResponse(BaseErrorInfoInterface errorInfo) {this.code = errorInfo.getResultCode();this.message = errorInfo.getResultMsg();}/*** 成功*/public static <T> ResultResponse<T> success() {return success(null);}/*** 成功*/public static <T> ResultResponse<T> success(T data) {ResultResponse<T> rb = new ResultResponse<>();rb.setCode(ExceptionEnum.SUCCESS.getResultCode());rb.setMessage(ExceptionEnum.SUCCESS.getResultMsg());rb.setResult(data);return rb;}/*** 失败*/public static <T> ResultResponse<T> error(BaseErrorInfoInterface errorInfo) {ResultResponse<T> rb = new ResultResponse<>();rb.setCode(errorInfo.getResultCode());rb.setMessage(errorInfo.getResultMsg());rb.setResult(null);return rb;}/*** 失败*/public static <T> ResultResponse<T> error(String code, String message) {ResultResponse<T> rb = new ResultResponse<>();rb.setCode(code);rb.setMessage(message);rb.setResult(null);return rb;}/*** 失败*/public static <T> ResultResponse<T> error(String message) {ResultResponse<T> rb = new ResultResponse<>();rb.setCode("-1");rb.setMessage(message);rb.setResult(null);return rb;}@Overridepublic String toString() {return JSONObject.toJSONString(this);}}

定义新注解ResponseResult

@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD, ElementType.TYPE})
@Documented
public @interface ResponseResult {
}

ResponseResultBodyAdvice类

  1. support方法,判断支持的类型;beforeBodyWrite方法,对controller的结果进行构造即构造成json格式
  2. RestControllerAdvice注解=ResponseBody+ControllerAdvice
@RestControllerAdvice
@Slf4j
public class ResponseResultBodyAdvice implements ResponseBodyAdvice<Object> {@Resourceprivate ObjectMapper objectMapper;private static final Class<? extends Annotation> ANNOTATION_TYPE = ResponseResult.class;@Overridepublic boolean supports(MethodParameter returnType, Class<? extends HttpMessageConverter<?>> converterType) {return AnnotatedElementUtils.hasAnnotation(returnType.getContainingClass(), ANNOTATION_TYPE) || returnType.hasMethodAnnotation(ANNOTATION_TYPE);}@SneakyThrows@Overridepublic Object beforeBodyWrite(Object body, MethodParameter returnType, MediaType selectedContentType, Class<? extends HttpMessageConverter<?>> selectedConverterType, ServerHttpRequest request, ServerHttpResponse response) {// 如果返回类型是string,那么springmvc是直接返回的,此时需要手动转化为jsonClass<?> returnClass = returnType.getMethod().getReturnType();if (body instanceof String || Objects.equals(returnClass, String.class)) {return objectMapper.writeValueAsString(ResultResponse.success(body));}// 防止重复包裹的问题出现if (body instanceof ResultResponse) {return body;}return ResultResponse.success(body);}
}

统一捕获异常

@ExceptionHandler(value = BizException.class) 捕获自定义异常

@ControllerAdvice
public class GlobalExceptionHandler {private static final Logger logger = LoggerFactory.getLogger(GlobalExceptionHandler.class);/*** 处理自定义的业务异常** @param req* @param e* @return*/@ExceptionHandler(value = BizException.class)@ResponseBodypublic ResultResponse<Void> bizExceptionHandler(HttpServletRequest req, BizException e) {logger.error("发生业务异常!原因是:{}", e.getErrorMsg());return ResultResponse.error(e.getErrorCode(), e.getErrorMsg());}/*** 处理空指针的异常** @param req* @param e* @return*/@ExceptionHandler(value = NullPointerException.class)@ResponseBodypublic ResultResponse<Void> exceptionHandler(HttpServletRequest req, NullPointerException e) {logger.error("发生空指针异常!原因是:", e);return ResultResponse.error(ExceptionEnum.BODY_NOT_MATCH);}/*** 处理其他异常** @param req* @param e* @return*/@ExceptionHandler(value = Exception.class)@ResponseBodypublic ResultResponse<Void> exceptionHandler(HttpServletRequest req, Exception e) {logger.error("未知异常!原因是:", e);return ResultResponse.error(ExceptionEnum.INTERNAL_SERVER_ERROR);}
}
http://www.yayakq.cn/news/214962/

相关文章:

  • 松江网站建设多少钱网站做电子链接标识申请好吗
  • 奉贤区网站建设北京 高端网站定制
  • 湖南做网站磐石网络nas做流媒体网站
  • 深圳集团网站建设专业wordpress后台慢
  • 织梦服务行业手机网站模板怎样做网站检索数据分析
  • 有哪些网站可以做网站游戏事件网站推广
  • 横沥建设网站wordpress图片暗箱
  • 网页网站开发项目设计浙江核酸检测查验
  • 网站里面送礼物要钱怎么做代码做图片类型的网站要怎么做
  • 学做网站需要什么淮安哪里有做网站的人
  • 网站首页标题字数搞笑网站全站源码
  • 个人网站做淘宝客容易封吗h5生成
  • 网站排名优化培训哪家好厦门网站设计制作
  • 天津手机模板建站中山企业网站制作公司
  • 物流wap网站模板wordpress 登录后页面
  • 网站改版 优势长春网站建设推广
  • 电子商务网站帮助中心该怎么更好地设计怎么做网站登陆战
  • 南京俄语网站建设公司seo是什么意思
  • 做凸透镜成像的网站网站开发容易找工作吗
  • 科协科普网站建设全球设计风向
  • 织梦网站系统删除不了网站推广站群
  • 电子商务网站有哪些内容长沙做网站竞网
  • 家居企业网站建设新闻360搜索引擎地址
  • 常州网站设计湛江公司电话做淘宝网站怎么弄的
  • 去哪里找做网站的aso关键词排名优化是什么
  • 手机网站开发 pdf什么是电子商务网站
  • 怎么查在哪个网站做的备案青白江建设网站
  • 上海新建设建筑设计有限公司网站域名注册成功怎么做网站
  • 网站建设实训意见mysql网站后台管理系统下载
  • 网站改版黄页88怎么设置关键词