http中post和get的区别

简介:

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


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


http中post和get的区别:

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

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


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


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


参考:

http://www.cnblogs.com/hyddd/archive/2009/03/31/1426026.html


接口开发:

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

http://activixxxx.com/jk_uca_t/appid/userInfo?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,如需转载请自行联系原作者




相关文章
|
1月前
|
Android开发 Kotlin
|
29天前
HTTP协议中请求方式GET 与 POST 什么区别 ?
GET和POST的主要区别在于参数传递方式、安全性和应用场景。GET通过URL传递参数,长度受限且安全性较低,适合获取数据;而POST通过请求体传递参数,安全性更高,适合提交数据。
310 2
|
4月前
|
缓存 搜索推荐 CDN
HTTP缓存策略的区别和解决的问题
总的来说,HTTP缓存策略是一种权衡,需要根据具体的应用场景和需求来选择合适的策略。理解和掌握这些策略,可以帮助我们更好地优化网页性能,提高用户的浏览体验。
124 11
|
5月前
|
安全 网络安全 数据安全/隐私保护
HTTP 与 HTTPS 协议及 SSL 证书解析-http和https到底有什么区别?-优雅草卓伊凡
HTTP 与 HTTPS 协议及 SSL 证书解析-http和https到底有什么区别?-优雅草卓伊凡
283 3
|
6月前
|
API 开发者
了解 HTTP 的PUT 与 POST方法的综合指南
HTTP PUT 和 POST 方法是构建 Web 应用与 API 的核心工具,用于资源的创建与更新。PUT 方法通过指定 URL 更新或创建完整资源,具有幂等性;而 POST 方法更灵活,主要用于创建新资源,但不具备幂等性。本文详细对比了两者在请求体、URL 使用、资源处理等方面的区别,并提供了实际应用示例,帮助开发者根据场景选择合适的方法以优化 API 设计。
|
6月前
|
缓存 安全 API
为什么 HTTP GET 方法不使用请求体?
本指南深入探讨了为什么HTTP GET方法通常不使用请求体,解释了GET方法的主要用途及其设计原则。GET请求旨在通过URL安全、幂等地检索数据,避免因请求体带来的复杂性和潜在问题。尽管HTTP/1.1规范允许GET请求包含请求体,但这并不常见且可能引发副作用。掌握这些原则有助于开发者在API开发中更高效地使用GET请求。
|
6月前
|
API
掌握 HTTP 请求的艺术:理解 cURL GET 语法
掌握 cURL GET 请求的语法和使用方法是 Web 开发和测试中的基本技能。通过灵活运用 cURL 提供的各种选项,可以高效地与 API 进行交互、调试网络请求,并自动化日常任务。希望本文能帮助读者更好地理解和使用 cURL,提高工作效率和代码质量。
338 7
|
6月前
|
数据采集 缓存 负载均衡
动态HTTP代理与静态HTTP代理的区别及HTTP代理的常见用途与类型
HTTP代理在网络通信中扮演重要角色,优化数据传输并提供隐私保护和访问控制。本文对比动态与静态HTTP代理,探讨其特点、优劣势及适用场景。静态代理地址固定,适合稳定环境;动态代理灵活切换服务器,增强隐私保护。此外,介绍HTTP代理的常见用途(如缓存加速、匿名浏览、绕过限制等)及类型(透明、普匿、匿名、高匿、正向、反向代理),帮助用户根据需求选择合适的代理方式。最后提醒用户遵守法律法规,确保安全使用。
213 1
|
8月前
|
关系型数据库 MySQL Docker
docker pull mysql:8.0.26提示Error response from daemon: Get “https://registry-1.docker.io/v2/“: EOF错误
docker pull mysql:8.0.26提示Error response from daemon: Get “https://registry-1.docker.io/v2/“: EOF错误
|
8月前
|
安全 搜索推荐 网络安全
HTTPS与HTTP:区别及安全性对比
HTTP和HTTPS是现代网络通信中的两种重要协议。HTTP为明文传输,简单但不安全;HTTPS基于HTTP并通过SSL/TLS加密,确保数据安全性和完整性,防止劫持和篡改。HTTPS还提供身份验证,保护用户隐私并防止中间人攻击。尽管HTTPS有额外的性能开销和配置成本,但在涉及敏感信息的场景中,如在线支付和用户登录,其安全性优势至关重要。搜索引擎也更青睐HTTPS网站,有助于提升SEO排名。综上,HTTPS已成为大多数网站的必然选择,以保障用户数据安全和合规性。
587 1