java springboot中调用第三方接口

编程入门 行业动态 更新时间:2024-10-28 03:32:13

java springboot中调用<a href=https://www.elefans.com/category/jswz/34/1770258.html style=第三方接口"/>

java springboot中调用第三方接口

调用第三方接口,记录下自己写的不然忘记。依然是废话不喜欢多说,上代码:

application.yml配置

server:port: 7888servlet:context-path: /gene
tomcat:remote-ip-header: x-forward-foruri-encoding: UTF-8max-threads: 10background-processor-delay: 30
system:#第三方接口huiCalculatedOrderUrl: http://*******

工具类:

@Component  
@Data  //简写get  set 的注解
@ConfigurationProperties(prefix="system") //接收application.yml中的myProps下面的属性  
public class MyProps {public String huiCalculatedOrderUrl;}

调用的Controller:

@Slf4j
@RestController
@RequestMapping("/huiCalculatedOrder")
public class HuiCalculatedOrderController {//可以用 spring boot 的restTemplate 但是感觉 hutool 的 工具类已经封装好的,比较方便@Autowiredprivate RestTemplate restTemplate;@Autowiredprivate MyProps myProps;/*** 授权 获取第三方的token * @throws Exception*/@PostMapping("/login")public String getHuiCalculatedOrderToken() throws Exception {//把第三方账号密码封装到mapMap<String,Object> paramsMap=new HashMap<String,Object>();paramsMap.put("username", "123");paramsMap.put("password", "123");String tokenStr="";// 直接丢地址 和账号密码获取第三方的token,顺便踹下错误,方便甩锅try {tokenStr= HttpUtil.post(myProps.getHuiCalculatedOrderUrl()+"/auth2/token",paramsMap);} catch (Exception e) {e.printStackTrace();throw new Exception("第三方接口访问异常");}//用fastJson 解析一波  直接返回JSONObject object=JSON.parseObject(tokenStr);System.out.println(JSON.toJSONString(object));String tokenObj = object.getString("token");System.out.println(tokenObj);JSONObject token = JSON.parseObject(tokenObj);System.out.println("token-->"+token.getString("token"));return token.getString("token");}/*** 调用第三方接口,下单*    说明下: ApiReturnObject    ApiReturnUtil 是我们自己项目封装的返回 无需理会*/@PostMapping("/order")public ApiReturnObject getgeneOrder(HuiCalculatedOrder huiCalculatedOrder) {//把需要传的参数封装到mapMap<String,Object> paramsMap=new HashMap<String,Object>();paramsMap.put("orderNum",huiCalculatedOrder.getOrderNum());paramsMap.put("checkNum",huiCalculatedOrder.getCheckNum());String post = null;try {//因为第三方规定:header  需要传 token , 所以用下面的链式构建//post = HttpUtil.post(myProps.getHuiCalculatedOrderUrl() + "/gene/order/create", paramsMap);//链式构建请求,用的是hutool 工具类post = HttpRequest.post(myProps.getHuiCalculatedOrderUrl() + "/gene/order/create").header("token", getHuiCalculatedOrderToken())  //value  是 上面获取的token.form(paramsMap).timeout(20000).execute().body();}catch (Exception e){e.printStackTrace();return ApiReturnUtil.error("第三方接口错误",e.getMessage());}log.info(post);JSONObject jsonbody= JSON.parseObject(post);   //使用了fastJson 工具类if ("00".equals(jsonbody.getString("errorCode")) ){return ApiReturnUtil.success("下单成功",post);}else {return ApiReturnUtil.error(jsonbody.getString("errorMessage"));}}
}

更多推荐

java springboot中调用第三方接口

本文发布于:2024-02-12 01:15:46,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1684876.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:第三方   接口   java   springboot

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!