SpringBoot工程调用SDK包

本文以查询用户信息为例,详细记录了在SpringBoot工程中调用SDK包的步骤,包括在service类中实现SDK方法,在controller中调用service,以及在facade中定义接口供controller继承,最后还简要介绍了SDK包内函数的结构。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

以查询用户信息的接口为例,记录调用SDK包方法的过程。

1、service类

里面写调用SDK包内的具体哪个函数方法,是具体实现过程。

public class SOPMsspClient {
public ReturnResult<QueryUserListResult> queryTrustUser(String appId, String customerId, String name, String startTime, String endTime, String  userstate, String skip, String step)  throws MSSPClientException{
    MSSPOpenPlantformClient msspClient = new MSSPOpenPlantformClient(msspUrl);
    Map<String, String> conditions = new HashMap();
    conditions.put("CUSTOMER_ID",customerId);
    conditions.put("APP_ID",appId);
    conditions.put("NAME",name);
    conditions.put("START_TIME",startTime);
    conditions.put("END_TIME",endTime);
    conditions.put("USER_STATE",userstate);
    conditions.put("SKIP",skip);
    conditions.put("STEP",step);
    ReturnResult<QueryUserListResult>  returnResult = new ReturnResult<QueryUserListResult>();
    returnResult.setData( msspClient.queryTrustUser(conditions));
    return returnResult;
}
}

2、controller里写自己调用service的方法实现

@RestController

@Slf4j
public class MsspController implements MsspFacade {

    @Autowired
    private SOPMsspClient msspClient;
@Override
public ReturnResult<QueryUserListResult> queryTrustUser(@RequestBody queryRequest userRequest) throws MSSPClientException {
    ReturnResult<QueryUserListResult> returnResult = msspClient.queryTrustUser(userRequest.getAppId(),userRequest.getCustomerId(),userRequest.getName(),userRequest.getStartTime(),userRequest.getEndTime(),userRequest.getUserState(),userRequest.getSkip(),userRequest.getStep());
    return returnResult;
}

}

3、facade里写将controller中自己写的方法抽象出来的一个接口,让controller继承它

@Api(value = "信步云查询接口", consumes = MediaType.APPLICATION_JSON_VALUE, protocols = "HTTP", description = "信步云查询接口")
@RequestMapping("/mssp")
public interface MsspFacade {

@ApiOperation(value = "查询用户证书信息", produces = MediaType.APPLICATION_JSON_VALUE, httpMethod = "POST", notes = "查询用户证书信息")
@ApiImplicitParams(value = {
        @ApiImplicitParam(name = "userRequest", value = "queryRequest", required = true,paramType = "body",dataType = "queryRequest")
})
@RequestMapping(value = "/queryTrustUser", method = RequestMethod.POST)
@ResponseBody
public ReturnResult<QueryUserListResult>  queryTrustUser(@RequestBody queryRequest userRequest)throws MSSPClientException;;

}


4、SDK包里面的具体函数我也打开看了一下,是这样的

public QueryUserListResult queryTrustUser( Map<String,String> conditions)
            throws MSSPClientException {

   log.debug("MSSPOpenPlantformClient.queryTrustUser Input Data: " + 
         String.format("{\"conditions\":\"%s\"}", conditions));
   QueryUserListResult ret = new QueryUserListResult();
   
   QueryTrustUserRequest request = new QueryTrustUserRequest();
   QueryTrustUserTbs tbs = new QueryTrustUserTbs();
   request.setQueryTrustUserTbs(tbs);

   tbs.setConditions(conditions);
   
   try {
      checkSignature(request, request.getQueryTrustUserTbs());
   } catch (Exception e) {
      throw new MSSPClientException("本地签名失败  " + e);
   }

   String data = JSONUtils.Object2JSON2(request);
   String res;
   try {
      res = this.POST(QUERY_APP_USER_URL, data, mssgTimeOut);
   } catch (Exception e) {    
      throw new MSSPClientException("POST error " + QUERY_APP_USER_URL, e);
   }

   QueryTrustUserResponse response = JSONUtils.JSON2Object(res, QueryTrustUserResponse.class);
   if (response == null) {
      log.error("网络错误,收到无效应答。" + res);
      throw new MSSPClientException("网络错误,收到无效应答。");
   }

   if (!StringUtils.compare(response.getErrCode(), "0")) {
      throw new MSSPClientException("查询用户信息失败  " + response.getErrCode() + response.getErrMsg());
   }
   
   //处理返回值
   ret.setCount(response.getCount());
   
   List<TrustedUserInfo> userList = new ArrayList<TrustedUserInfo>();
   for(TrustedUserForOpenPlatform user : response.getUserInfos()){
      TrustedUserInfo nUser = new TrustedUserInfo();
      
      BeanUtils.copyProperties(nUser, user);
      userList.add(nUser);
   }
   ret.setUserList(userList);
   
   return ret;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值