初步:
- 先登录阿里云(找官网链接)
2、云市场搜索身份证二要素
看个人需求选择
3、我选择的是下边这个
4、接下来看文档具体调用(在请求示例中有选择语言的代码 我选择的就是java)
5、在控制台看appcode码 放入代码中
6、接下来就可以运行代码看结果
示例 我做了个小案例
- 创建一个项目
- 写一个简单的接口
- Postman测试该接口 得到结果
Controller层
@RestController
@RequestMapping("/user")
public class UserController {@AutowiredUserServiceImpl userService;@RequestMapping("/hello")public String hello(@RequestBody Map<String,String> map) throws IOException {return userService.findAddress(map);}
}
Service层
//import org.springframework.transaction.annotation.Transactional;
@Service
public class UserServiceImpl implements UserService {public String findAddress(Map<String, String> map) throws IOException {//获取用户的姓名和身份证号进行校验String name = map.get("name");String idCardNo = map.get("idCardNo");String address = AliIdCardReturnAddress.getAddress(idCardNo, name);System.out.println(address);return address;}
AliIdCardReturnAddress类是我自己封装的(根据阿里云提供的代码进行封装的)
AliIdCardReturnAddress类中的getAddress方法
public static String getAddress(String idCardNo,String name) throws IOException {String host = "https://jmidcardv1.market.alicloudapi.com";String path = "/idcard/validate";String method = "POST";String appcode = "自己的appcode";Map<String, String> headers = new HashMap<String, String>();headers.put("Authorization", "APPCODE " + appcode);Map<String, String> querys = new HashMap<String, String>();Map<String, String> bodys = new HashMap<String, String>();bodys.put("idCardNo", idCardNo);bodys.put("name", name);HttpResponse response =null;try {response = HttpUtils.doPost(host, path, method, headers, querys, bodys);} catch (Exception e) {e.printStackTrace();}return EntityUtils.toString(response.getEntity());
}
HttpUtil从网站上下载(阿里官方提示的)
/**
* 重要提示如下:
* HttpUtils请从
* https://github.com/aliyun/api-gateway-demo-sign-java/blob/master/src/main/java/com/aliyun/api/gateway/demo/util/HttpUtils.java
* 下载
*
* 相应的依赖请参照
* https://github.com/aliyun/api-gateway-demo-sign-java/blob/master/pom.xml
*/
最后运行调用该接口就能得到返回结果
可以有一个实体类来接收返回结果 这样就可以选择获取哪个数据,可以使用json在线解析
将结果解析成一个实体类