博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
http中post和get的区别
阅读量:6850 次
发布时间:2019-06-26

本文共 3113 字,大约阅读时间需要 10 分钟。

本地采用post+http封装接口,提供对外使用:

post和get其实不影响,我们在开发接口时候就按照本地接口来开发即可

http中post和get的区别:

get一般只是查询数据,参数跟在请求地址后面,用问号隔开;参数最多为1024字节。

post一般是修改等,参数在请求体中;参数量更大。

在接口开发中,没有区别,都是获取参数,然后返回数据。

post和get就相当于是ajax的参数传递的区别。

参考:

接口开发:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
/**
     
* 获取用户信息
     
     
* @param appid
     
*            第三方网站唯一标识
     
     
* @param access_token
     
*            联合中心的全局唯一票据
     
     
* @param openid
     
*            由联合中心颁发的当前用户的用户标识
     
     
* @param start
     
*            预备填充的用户信息, JSON数据
     
     
* @param size
     
*            预备填充的用户信息, JSON数据
     
     
* @return JSON 数据
     
     
*/
    
@RequestMapping
(value = 
"/{appid}/userInfo"
, method = RequestMethod.GET, produces = {
            
"application/json;charset=UTF-8" 
})
    
@ResponseBody
    
public 
String getUserInfo(HttpServletRequest request, HttpServletResponse response,
            
@PathVariable
(
"appid"
) String appid, String access_token, String openid, Integer start, Integer size)
            
throws 
Exception {
 
        
String result = 
null
;
        
try 
{
            
result = userService.getUserInfo(appid, access_token, openid, start, size);
        
catch 
(Exception ex) {
            
ex.printStackTrace();
        
}
        
if 
(-
1 
!= result.indexOf(
"errmsg"
)) {
            
result = AppErrorResult.setErrorResult(result);
        
}
        
return 
result;
    
}

接口文档:(调用)

获取用户详细信息进行其他信息查询

1. 当前用户为第三方网站自身用户,可以使用原有方式进行查询

2. 当前用户为非第三方网站自身用户或第三方用户信息由联合中心托管的情况下。需要向联合中心发起请求获取用户其他信息

3. 具体数据需要跟第三方网站协商确定

接口调用请求说明

HTTP请求方式:GET

?access_token=accessToken& openid=openId

参数说明

参数名

是否必填

参数说明

appid

第三方网站唯一标识

access_token

联合中心的全局唯一票据

openid

由联合中心颁发的当前用户的openid

注:在联合中心鉴权时,会先做token检查,如果有误就返回错误码。比如token超时,则需要第三方网站重新获取token,获取token方式见获取access_token.

 

返回说明

正确返回如下JSON数据包

  { openid : OPENID,

name : name

   }

注:具体数据需要跟第三方网站协商确定

 

错误,返回错误码等信息,JSON数据包示例如下(该示例为appid无效错误)

{

errorcode : 40013, errmsg : invalid appid}

错误码:

{"errorCode":40013,"errorMessage":"errmsg: invalid appid"}

{"errorCode":40014,"errorMessage":"errmsg: invalid access_token"}

{"errorCode":40017,"errorMessage":"errmsg: access_token timeout"}

{"errorCode":40018,"errorMessage":"errmsg: invalid access_token for appid"}

{"errorCode":40021,"errorMessage":"errmsg: invalid openid "}

{"errorCode":40022,"errorMessage":"errmsg: invalid account"}

 

Java调用:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
@Override
public 
UcaResult queryUser(String  openId) 
throws 
Exception  
{
    
//联合用户中心查询用户数据
     
String  url = 
""
;
        
try 
{
            
AddressMappingQuery  addressMappingQuery=
new 
AddressMappingQuery();
            
addressMappingQuery.setKmsid(
"ucaUrl"
);
            
List<AddressMapping> AddressMappings = 
this
.addressMappingManager.query(addressMappingQuery);
            
url = AddressMappings.get(
0
).getAddressMappingUrl();
        
catch 
(Exception e1) {
            
e1.printStackTrace();
            
throw 
new 
Exception(
"服务器错误,获取第三方接口url失败"
);
        
}
        
url = url + 
"/userInfo"
;
    
HttpParameter httpParameter = 
new 
HttpParameter();
// 参数
    
httpParameter.add(
"openid"
, openId);
    
httpParameter.add(
"access_token"
, (String)GlobalSet.AccessTokenMap.get(
"access_token"
));
    
String resultStr = PostUtil.doGet(url, httpParameter, 
"UTF-8"
);
    
Gson gson=
new 
GsonBuilder().setPrettyPrinting().create();
    
UcaResult result=gson.fromJson(resultStr, UcaResult.
class
);
    
return 
result;
}
      本文转自建波李 51CTO博客,原文链接:http://blog.51cto.com/jianboli/1898141,如需转载请自行联系原作者
你可能感兴趣的文章
[推荐]ORACLE PL/SQL编程之四:把游标说透(不怕做不到,只怕想不到)
查看>>
优化IPOL网站中基于DCT(离散余弦变换)的图像去噪算法(附源代码)。
查看>>
微软最有价值专家大中华峰会花絮视频
查看>>
Chapter 1 First Sight——25
查看>>
64bit Centos6.4搭建hadoop-2.5.1
查看>>
前端开发必备!Emmet使用手册
查看>>
node-load module
查看>>
前端性能优化策略
查看>>
Clion使用MinGW编译好的boost库
查看>>
c#超时锁定
查看>>
Android 自定义View实现多行RadioGroup (MultiLineRadioGroup)
查看>>
mac office
查看>>
Leetcode: Valid Word Abbreviation
查看>>
动态生成页面(一)——ASP.NET中Literal使用
查看>>
集合框架_DAY17
查看>>
【ichartjs】用ichartjs替代Excel做直方图
查看>>
unix调试工具:lsof
查看>>
国内各IE内核浏览器所调用的IE版本--转了
查看>>
Vector3.Set的正确使用
查看>>
[CareerCup] 12.6 Test an ATM 测试一个自动取款机
查看>>