java 关于微信小程序code获取openid

这篇博客记录了如何在Java后端通过接收小程序前端传递的Code来获取OpenID的过程,包括关键实现类和请求工具类的使用。在操作中需要注意appid和appsecret的正确配置,前端需设置appid。虽然这个过程相对简单,但作者提到微信支付的集成才是更大的挑战。
摘要由CSDN通过智能技术生成

最近有个小程序的项目 需要前端传code 后端获取openid 这里是纯后端
在这里记录一下吧
主要代码:
这里是获取openid的实现类

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.moszk.frame.basic.utils.HttpRequest;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;

import java.util.HashMap;
import java.util.Map;


@RestController
public class WeiXinSubmitController {
   


    @ResponseBody
    @RequestMapping(value = "/wx/decodeUserInfo", method = RequestMethod.GET)
    public Map decodeUserInfo(String code) {
   

        System.out.println(code);
        Map map = new HashMap();
        //登录凭证不能为空
        if (code == null || code.length() == 0) {
   
            map.put("status", 0);
            map.put("msg", "code 不能为空");
            return map;
        }

        //小程序唯一标识   (在微信小程序管理后台获取)
        
        String wxspAppid = "***********";
        //小程序的 app secret (在微信小程序管理后台获取)
        String wxspSecret = "*********************";
        //授权(必填)
        String grant_type = "authorization_code";

        //https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code

        //1、向微信服务器 使用登录凭证 code 获取 session_key 和 openid
        //请求参数
        String params = "appid=" + wxspAppid + "&secret=" + wxspSecret + "&js_code=" + code + "&grant_type=" + grant_type;
        //发送请求
        String sr = HttpRequest.sendGet("https://api.weixin.qq.com/sns/jscode2session", params);
        System.out.println("sr========"+sr);
        //解析相应内容(转换成json对象)

        JSONObject json =JSON.parseObject(sr
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值