记得上下班打卡 | git大法好,push需谨慎

Commit 3fb04d37 authored by anjiabin's avatar anjiabin

调试至信链NFt发行接口

parent 583aabbf
......@@ -7,8 +7,10 @@ import org.springframework.http.*;
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;
import org.springframework.web.client.RestTemplate;
import org.springframework.web.util.UriComponentsBuilder;
import java.io.UnsupportedEncodingException;
import java.net.URI;
import java.net.URLDecoder;
import java.util.List;
import java.util.Map;
......@@ -43,6 +45,18 @@ public class HttpUtil {
return request(url, params, headers, HttpMethod.GET);
}
/**
* get请求 通过uri 解决再次编码问题
* @param url
* @param headers
* @return
*/
public static String getByUri(String url, MultiValueMap<String, String> headers) {
UriComponentsBuilder uriComponentsBuilder = UriComponentsBuilder.fromHttpUrl(url);
URI uri = uriComponentsBuilder.build(true).toUri();
return request(uri,headers, HttpMethod.GET);
}
/**
* post请求
*
......@@ -240,6 +254,31 @@ public class HttpUtil {
return request(url, params, headers, method, MediaType.APPLICATION_FORM_URLENCODED);
}
/**
* http请求 通过uri
* @param url
* @param headers
* @param method
* @return
*/
public static String request(URI url,MultiValueMap<String, String> headers, HttpMethod method) {
if (url == null) {
return null;
}
// header
HttpHeaders httpHeaders = new HttpHeaders();
if (headers != null) {
httpHeaders.addAll(headers);
}
HttpEntity<Object> httpEntity = new HttpEntity(httpHeaders);
// RestTemplate restTemplate = new RestTemplate();
// 提交方式:表单、json
ResponseEntity<String> response = restTemplate.exchange(url, method, httpEntity, String.class);
return response.getBody();
}
/**
* 表单请求Raw
*
......
......@@ -9,15 +9,19 @@ import com.liquidnet.commons.lang.util.BeanUtil;
import com.liquidnet.commons.lang.util.JsonUtils;
import lombok.extern.slf4j.Slf4j;
import org.apache.http.NameValuePair;
import org.apache.http.client.utils.URIBuilder;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;
import java.beans.IntrospectionException;
import java.io.UnsupportedEncodingException;
import java.lang.reflect.InvocationTargetException;
import java.net.URI;
import java.net.URISyntaxException;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.util.List;
import java.util.Map;
/**
* @author AnJiabin <anjiabin@zhengzai.tv>
......@@ -132,32 +136,57 @@ public class ZxlnftBiz {
* @return
*/
public <T> String buildGetRequestUrl(String requestUrl,Class<T> tClass,Object obj){
// List<NameValuePair> params = new ArrayList<NameValuePair>();
// if(StringUtil.isNotEmpty(req.getSeriesName())){
// params.add(new BasicNameValuePair("seriesName", req.getSeriesName()));
//拼接请求url
URI build = null;
// String reqUrl = null;
// try {
// UriComponentsBuilder builder = UriComponentsBuilder
// .fromHttpUrl(requestUrl).queryParams(this.buildGetReqParams(obj));
// reqUrl = builder.build(true).toString();
// }
// params.add(new BasicNameValuePair("platformIdentification", req.getPlatformIdentification()));
// if(StringUtil.isNotEmpty(req.getUserIdentification())){
// params.add(new BasicNameValuePair("userIdentification", req.getUserIdentification()));
// catch (Exception e) {
// e.printStackTrace();
// }
// T reqObj = null;
List<NameValuePair> params = BeanUtil.convertBeanToNameValuePairList(obj);
requestUrl = requestUrl.concat("?");
for(NameValuePair nameValuePair:params){
try {
requestUrl = requestUrl.concat("&"+nameValuePair.getName()+"="+ URLEncoder.encode(nameValuePair.getValue().toString(), "UTF-8"));
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
// try {
// reqObj = tClass.newInstance();
// } catch (InstantiationException e) {
// e.printStackTrace();
// } catch (IllegalAccessException e) {
// build = new URIBuilder(requestUrl).addParameters(params).build();
// } catch (URISyntaxException e) {
// e.printStackTrace();
// }
List<NameValuePair> params = BeanUtil.convertBeanToNameValuePairList(obj);
//拼接请求url
URI build = null;
// if(build.toString().contains("%20")){
// return build.toString().replaceAll("%20","+");
// }
return requestUrl;
}
public MultiValueMap<String, String> buildGetReqParams(Object obj){
Map<String,Object> map = null;
try {
build = new URIBuilder(requestUrl).addParameters(params).build();
} catch (URISyntaxException e) {
map = BeanUtil.convertBeanToMap(obj,false);
} catch (IntrospectionException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
return build.toString();
MultiValueMap<String, String> params = new LinkedMultiValueMap();
// Map集合循环遍历方式三 推荐,尤其是容量大时
for (Map.Entry<String, Object> m : map.entrySet()) {
params.add(m.getKey(),m.getValue().toString());
}
return params;
}
}
......@@ -2,6 +2,15 @@ package com.liquidnet.common.third.zxlnft.service;
import com.liquidnet.common.third.zxlnft.dto.wallet.*;
/**
* @author AnJiabin <anjiabin@zhengzai.tv>
* @version V1.0
* @Description: TODO
* @class: WalletSdkService
* @Package com.liquidnet.common.third.zxlnft.service
* @Copyright: LightNet @ Copyright (c) 2021
* @date 2022/2/17 15:53
*/
public interface WalletSdkService {
/**
* 1.生成助记词
......
......@@ -836,11 +836,9 @@ public class ZxlnftSdkServiceImpl implements ZxlnftSdkService
requestUrl = zxlnftBiz.buildGetRequestUrl(requestUrl,Nft024PointApplyResultReq.class,req);
log.info("nft024PointApplyResult--->>> new request url : {} ",requestUrl);
String response = null;
// ObjectNode objectNode = JsonUtils.OM().createObjectNode();
try {
response = HttpUtil.get(requestUrl,null,commonHeader);
response = HttpUtil.getByUri(requestUrl,commonHeader);
} catch(HttpClientErrorException e) {
log.error("nft024PointApplyResult error", e);
}catch (Exception e) {
......
......@@ -307,7 +307,10 @@ public class TestZxlnftSdkUtil {
ZxlnftResponseDto<Nft029PointQueryRespDto> resp = zxlnftSdkUtil.nft029PointQuery(reqDto);
System.out.println(resp.toJson());
}
//30 NFT 系列声明 api/v1/nft/series/claim
//31 查询NFT系列声明结果 api/v1/nft/series/claim/result
//32 查询系列信息 api/v1/nft/series
//33 查询该账户资产归属的系列列表 api/v1/nft/series/list
@Test
public void nft034Publish(){
Nft034PublishReqDto reqDto = Nft034PublishReqDto.getNew();
......@@ -328,4 +331,12 @@ public class TestZxlnftSdkUtil {
ZxlnftResponseDto<Nft034PublishRespDto> resp = zxlnftSdkUtil.nft034Publish(reqDto);
System.out.println(resp.toJson());
}
@Test
public void nft035PublishResult(){
Nft035PublishResultReqDto reqDto = Nft035PublishResultReqDto.getNew();
reqDto.setTaskId("5d23ed47-dcb2-4672-99eb-060c04727a20_nft-publish_3");
ZxlnftResponseDto<Nft035PublishResultRespDto> resp = zxlnftSdkUtil.nft035PublishResult(reqDto);
System.out.println(resp.toJson());
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment