阿里云身份证二要素详细使用

初步:

  1. 先登录阿里云(找官网链接)

2、云市场搜索身份证二要素

看个人需求选择

3、我选择的是下边这个

4、接下来看文档具体调用(在请求示例中有选择语言的代码 我选择的就是java)

5、在控制台看appcode码 放入代码中

6、接下来就可以运行代码看结果

示例 我做了个小案例

  1. 创建一个项目
  2. 写一个简单的接口
  3. Postman测试该接口 得到结果

Controller层

java 复制代码
@RestController
@RequestMapping("/user")
public class UserController {

  @Autowired
    UserServiceImpl userService;

    @RequestMapping("/hello")
    public String hello(@RequestBody Map<String,String> map) throws IOException {
        return userService.findAddress(map);
    }
}

Service层

java 复制代码
//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方法

java 复制代码
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在线解析

将结果解析成一个实体类

相关推荐
wanderist.1 分钟前
Lambda表达式在算法竞赛中的应用
java·开发语言·算法
腻害兔1 小时前
【若依项目-产品经理视角】RuoYi-Vue-Pro 源码拆解:IM 即时通讯模块,一个被低估的「全功能聊天系统」
java·前端·vue.js·产品经理·ai编程
心念枕惊2 小时前
.NET CORE 授权进阶-角色、策略与动态权限实现
java·前端·.netcore
景同学3 小时前
把 AI 用到线上运维:可行、有效,前提是喂足信息——一次 Full GC 排障实录
java·人工智能·后端
C++、Java和Python的菜鸟4 小时前
第7章 后端Web实战(Tlias系统)
java
憧憬成为java架构高手的小白4 小时前
黑马八股--spring框架学习
java·学习·spring
唐青枫5 小时前
Java Picocli 实战详解:用注解写出好用的命令行工具
java
X-⃢_⃢-X5 小时前
四、OpenFeign远程调用
java·微服务·springboot·springcloud
减瓦5 小时前
深入 Quarkus:云原生时代 Java 的重生之路
java·开发语言·云原生
杨运交5 小时前
[053][核心模块]Java枚举缓存与ORM集成实践
java·开发语言·缓存