REST(Resentational State Transfer)是一种轻量级的Web Service架构风格,其实现和操作明显比SOAP和XML-RPC更为简洁,可以完全通过HTTP协议实现,还可以利用缓存Cache来提高响应速度,性能、效率和易用性上都优于SOAP协议。

Iphone调用使用ASIHttpRequest,它是一个直接在CFNetwork上做的开源项目,提供了一个比官方更方便更强大的HTTP网络传输的封装,非常的好用。

需求:根据用户名获取用户的信息。

首先我们先做一个这样的页面效果:

定义下面方法与button的点击事件对应:

- (IBAction)fetchJson:(id)sender;

- (IBAction)fetchJson:(id)sender

{

NSString *name = username.text;

NSLog(@"==========%@",name);

NSURL *url = [NSURL URLWithString:@"http://xxx.com/ws/mooc/lesson/getUserInfo"];

ASIHTTPRequest *req = [ASIHTTPRequest requestWithURL:url];

[req addRequestHeader:@"username" value:name];

[req setRequestMethod:@"GET"];

[req startSynchronous];

NSError *error = [req error];

if (!error) {

NSString *response = [req responseString];

UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"返回的数据"

message:response

delegate:nil

cancelButtonTitle:@"OK"

otherButtonTitles:nil];

[alertView show];

[alertView release];

}

}

你会发现这种方式比使用soap协议更简洁易用。

说道这里你们又该问了:怎么在项目中使用ASIHttpRequest这个框架呢?不急这就给你们道来。

1、打开Xcode,找到我们的项目,创建一个文件夹External文件放置我们需要的资源文件,

所需文件列表如下:

ASIHTTPRequestConfig.h

ASIHTTPRequestDelegate.h

ASIProgressDelegate.h

ASICacheDelegate.h

ASIHTTPRequest.h

ASIHTTPRequest.m

ASIDataCompressor.h

ASIDataCompressor.m

ASIDataDecompressor.h

ASIDataDecompressor.m

ASIFormDataRequest.h

ASIInputStream.h

ASIInputStream.m

ASIFormDataRequest.m

ASINetworkQueue.h

ASINetworkQueue.m

ASIDownloadCache.h

ASIDownloadCache.m

ASIAuthenticationDialog.h

ASIAuthenticationDialog.m

Reachability.h (在源码的 External/Reachability 目录下)

Reachability.m (在源码的 External/Reachability 目录下)

2、链接相关类库

1. 选中项目

2. 选中目标

3. 跳转到“Build Phases”标签

4. 展开“Link Binary With Libraries”分组

5. 点击“+”添加类库(需要的类库有CFNetwork.framework,SystemConfiguration.framework,MobileCoreServices.framework,CoreGraphics.framework和libz.1.2.3.dylib)

如图:

ios调用restful接口_iPhone中调用RESTFUL Service相关推荐

  1. 在php中调用java接口吗,php 调用 java 接口

    php 需要开启 curl模块 /* * HTTP 请求函数封装 */ function http_request_cloudzone($url, $data){ //var_dump($url.&q ...

  2. python调用webservice接口实例_python调用各种接口,webservice,c接口,com接口,socket协议方法...

    python调用webservice接口(SOAP) (2)调用示例: 需要先安装suds库:pip install suds from suds.client import Client #如果需要 ...

  3. python连接sap接口_python中调用api接口

    CDN之API以及SDK的调用 简介 阿里云CDN提供了丰富的API接口,除了控制台,CDN还开发了多样化的接口.目前我们推荐用户使用新版API,详情请参见新版API参考.同时CDN提供了多语言SDK ...

  4. iOS 如何在一个应用程序中调用另一个应用程序

    原则上iOS的沙箱原理,是阻止一个app去访问其他app的资源乃至是系统底层的资源的但是我们可以通过一种变相的方式:通过对应的URL模式和其他程序进行通讯. iOS应用之间的调用步骤: 一, 调用自己 ...

  5. java调用jni接口,Java 中通过jni接口调用native code

    [    Java语言本身是通过Java的虚拟机解释执行的,因此对于Java中调用本地动态链接库的问题便提上了日程,为何会存在这样的需求呢?因为Java本身的机制导致一些要求高效率 在上上篇中已经介绍 ...

  6. android微信条码支付接口,Android中调用微信支付接口

    在我的项目中还没有接入这个功能的时候就听说微信支付的接口很坑爹,用完之后发现别人说的一点也没有错,蛋疼归蛋疼,该用还是要用.在这里把遇到的问题记录一下以免以后需要再次接入的话碰到问题浪费时间. 微信支 ...

  7. python调用webservice接口实例_python调用webservice接口的实现

    使用suds这个第三方模块 from suds.client import Client url = 'http://ip:port/?wsdl' cilent=Client(url) print c ...

  8. matlab 调用mex,从MATLAB中调用MEX中的C类方法

    AFAIK,没有简单的方法可以做到这一点,因为mexFunction接口相当扁平.但是,我可以想到一些不同的解决方法,可以让你接近.根据您的需求选择最佳的一个. >最简单的方法是在mex函数中创 ...

  9. c语言调用c 接口方法,C++调用C接口的实现示例

    C++调用C代码 一个C语言文件p.c #include void print(int a,int b) { printf("这里调用的是C语言的函数:%d,%d\n",a,b); ...

  10. java调用php接口_java 如何调用接口

    在实际开发过程中,我们经常需要调用对方提供的接口或测试自己写的接口是否合适,所以,问题来了,java如何调用接口?很多项目都会封装规定好本身项目的接口规范,所以大多数需要去调用对方提供的接口或第三方接 ...

最新文章

  1. 百度编辑器(ueditor)@功能之获取坐标
  2. 算法导论之概率分析和随机算法
  3. 【数据竞赛】图像赛排行榜拉开100名差距的技巧
  4. ORACLE中的自治事务
  5. python 协程小程序(草稿有待完善)
  6. PHP 7.0 5.6 下安裝 phpLDAPadmin 发生错误的修正方法
  7. IT小公司避坑及生存指南
  8. 【码学堂】教师如何在码学堂上组织教学活动?
  9. 怎么检测计算机硬件好坏,电脑硬件检测,电脑硬件好坏检测工具
  10. 深度解析输入偏置电流和输入失调电流的定义来源以及对电路的影响
  11. arcgis影像怎么去黑边_arcgis遥感图像去黑边林林种种(至少7种方法)
  12. 派克宇航获得AVIC涡轮螺旋桨支线飞机MA700的飞控作动系统合同
  13. MP4学习(四)ts-mp4源码阅读(2)MP4的解析流程
  14. 【Unity3D插件】AVPro Video插件分享《视频播放插件》
  15. 数据库与MPP数仓(十五):MPP的架构与选型
  16. PV、EV、AC、SV、CV、SPI、CPI
  17. jmp指令流程图怎么写_流程图模板
  18. 【HDU100】杭电入门一百道 C++ 全 题 解
  19. 2017 icpc beijing J - Pangu and Stones
  20. 【产品经理】手绘风格在网页设计中的运用

热门文章

  1. 8.XSD 复合元素
  2. 华为平板鸿蒙评测,华为平板首发鸿蒙系统,Matepad Pro2 跑分首曝
  3. 《数学之美》—矩阵运算和文本处理中的两个分类问题
  4. Attention Please
  5. 004. Asp.Net Routing与MVC 之二: 请求如何激活Controller和Action
  6. CImage 获取图片RGB 、图片高和宽;
  7. liunx 下mysql 的安装(转载)
  8. Java Thread.yield详解
  9. SqlSessionFactory和SqlSessionTemplate
  10. Thinking in Java 16.3返回一个数组