SpringBoot常用类

4 篇文章 0 订阅


支持作者

1 设置全局异常处理

/**
 * 设置全局异常处理
 */
@ResponseBody
@ControllerAdvice
public class MyControllerAdvice {
    @ExceptionHandler(value = Exception.class)
    public String errorHandle(Exception e){
        e.printStackTrace();
        return ResultResponse.getJsonResult(-1, e.getMessage());
    }
}

2 设置跨域问题

@Configuration
public class MyConfiguration {

    /**
     * 设置跨域问题
     * @return
     */
    @Bean
    public WebMvcConfigurer corsConfigurer() {
        return new WebMvcConfigurer() {
            @Override
            public void addCorsMappings(CorsRegistry registry) {
                registry.addMapping("/**")
                        .allowedOrigins("*")
                        .allowCredentials(true)
                        .allowedMethods("GET", "POST", "DELETE", "PUT","PATCH")
                        .maxAge(3600);
            }
        };
    }
}

3 规范返回结果

/**
 * 规范返回结果,简化返回过程的工具类
 */

public class ResultResponse {

    /**
     * 当获取上传的数据发生错误时的返回值
     */
    public static final String CHECKDATAERRORRESULT = "{\"code\":-1,\"data\":[],\"message\":\"请求参数错误!\"}";
    public static final String UPDATADATAERRORRESULT = "{\"code\":-1,\"data\":[],\"message\":\"数据库操作失败!\"}";

    /**
     * 通用的返回格式化json数据
     * @param code
     * @param params
     * @return
     */
    public static String getJsonResult(int code, Object...params){
        Map map = new HashMap();
        map.put("code", code);
        String message = (params.length >= 1 && params[0] instanceof String) ? (String)params[0] : "";
        map.put("mssage", message);
        Object data = (params.length >= 2) ? params[1] : new ArrayList();
        map.put("data", data);
        Gson gson = new Gson();
        return gson.toJson(map);
    }
}

4 发送请求

 //向qq获取信息
RestTemplate restTemplate=new RestTemplate();
String uri="https://graph.qq.com/user/get_user_info?access_token=" + access_token +
                    "&oauth_consumer_key=oauth_consumer_key&openid=" + openid;
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON_UTF8);
HttpEntity<String> entity = new HttpEntity<String>(headers);
String strbody = restTemplate.exchange(uri, HttpMethod.GET, entity,String.class).getBody();
//解析nickname,以及头像
JsonObject jsonObject = (JsonObject) new JsonParser().parse(strbody);
nickName = jsonObject.get("nickname").getAsString();
imgUrl = jsonObject.get("figureurl_qq_1").getAsString();

5 测试

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值