从英文变形规则计算到Restful Api设计

原文出自【听云技术博客】:http://blog.tingyun.com/web/article/detail/938

一.介绍Cocoapods

Cocoapods是引入为项目引入新血液的接口,只有引入了新血液,功能才可以多样化,进而满足不同的消费群体。使用Cocoapods可以方便日后对项目的管理,是工程师在工作效率上提升的必杀技。做一个完美的APP,不是为了实现功能便可以放松警惕,而是在日后回头看我的功能时更容易管理与维护,以至于提升。那么跟着我来如何使用Cocoapods。

二.安装Cocoapods

苹果系统的内核Linux系统,所以我们在使用任何操作时,都是在潜移默化的学习Linux系统的操作过程。苹果系统的终端Terminal是基于Shell命令的一款和电脑交互的设备,使用Shell命令便可以进行操作。

当我们在Terminal使用Cocoapods时,首先需要保证电脑里已存在Cocoapods,在Terminal中输入pod命令,若出现字符如图所示1.1,

图1.1

则证明系统中不存在Cocoapods,那么需要先安装Cocoapods。如果已经翻墙,直接输入命令sudo gem install cocoapods。如果没有翻墙,那么我们需要先输入命令gem sources –remove https://rubygems.org/ 如图1.2所示,

图1.2

然后输入命令gem sources -a https://ruby.taobao.org/ 如图1.3所示,

图1.3

等待片刻后,我们可以来验证镜像Ruby,输入命令gem sources –l如图1.4所示,

图1.4

若出现***CURRENT SOURCES*** http://ruby.taobao.org/以上字符,可以验证以上命令输入成功。接着,我们在Terminal中继续输入命令sudo gem install cocoapods等待片刻,运行结束后,输入pod,若出现pod的提示命令如图1.5所示

图1.5

那么我们的pod安装成功了。

三.使用Cocoapods

安装成功后,我们要来具体使用Cocoapods,首先我们应该确认对哪个项目进行pod,先打开要操作的项目,对要操作的xcodeproj格式文件拖拽到Terminal中,此时会发现终端上多出了一行/Users/apple/Desktop/myproject/ myproject.xcodeproj,我们注意,“/”后面是具体文件,我们只要获取的是要操作的项目地址,删掉myproject.xcodeproj,并使用命令cd /Users/apple/Desktop/myproject/打开当前地址,当我们打开地址后,可以使用pwd命令查看地址是否正确,当地址正确时,输入命令pod init,进行pod初始化,只有初始化了pod版本,才能对此进行安装第三方库,更新等等。等待片刻后,会发现当前文件夹多出了podfile文件,打开文件,在target ‘myproject’ do与end之间输入想要引入的第三方库,在引入第三方库之前,我们需要判断此第三方库是否支持pod,以AFNetworking举例,在Terminal中输入命令pod search AFNetworking,如出现AFNetworking详细介绍,那么说明此三方库支持Cocoapods,然后在podfile文件中输入命令pod 'AFNetworking',保存并关闭podfile文件,继续在Terminal中输入命令pod update,便可以从github上获取AFNetworking了,等待片刻后,会发现当前文件夹多了几个文件,不需要管他们,此时我们打开名为myproject.xcworkspace的文件后,会发现左侧多出了几个文件夹,比如Pods,而这个文件夹就是我们以pod为基石所初始化出来的文件夹。

四.验证

打开当前文件夹中的xcworkspace格式文件,在ViewController中书写代码#import 引入AFNetworking,此时pod使用成功。引入成功后,我们写几句代码来验证下AFNetworking到底可不可用。

步骤:

1.首先在视图上添加一个imageView,用来显示从网络上获取的图片资源。

2.所谓进行网络之间的发送、下载都是进行http交互功能,http是数据交互的开始,所以我们在进行下载图片前,需要写一个请求功能,请求与网址进行交互。

3.在写好请求功能后,我们开始建立任务,创建任务并调用其方法,在方法里面分别有几个block回调,分别是进程,结果,错误等回调,在回调方法里写好相应的代码后,通过转换成image,赋值给imageView,由于创建的任务默认被挂起,可理解为暂停服务,所以我们要手动开启服务,开启后,测试结果可发现下载成功,我们调用AFNetworking成功。

具体代码如下:

UIImageView *imageView = [[UIImageView alloc]initWithFrame:CGRectMake(0, 110, 411, 283)]; [self.view addSubview:imageView];
    NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration ephemeralSessionConfiguration];
    AFURLSessionManager *manager = [[AFURLSessionManager alloc]initWithSessionConfiguration:configuration];

    NSString *path = @"http://pic15.nipic.com/20110630/6322714_105316715314_2.jpg";
    NSURL *URL = [NSURL URLWithString:path];
    NSURLRequest *request = [NSURLRequest requestWithURL:URL];
    NSURLSessionDownloadTask *task = [manager downloadTaskWithRequest:request progress:^(NSProgress * _Nonnull downloadProgress) {

    } destination:^NSURL * _Nonnull(NSURL * _Nonnull targetPath, NSURLResponse * _Nonnull response) {
        NSURL *downloadURL = [[NSFileManager defaultManager]URLForDirectory:NSDocumentDirectory inDomain:NSUserDomainMask appropriateForURL:nil create:NO error:nil];
        return [downloadURL URLByAppendingPathComponent:[response suggestedFilename]];
    } completionHandler:^(NSURLResponse * _Nonnull response, NSURL * _Nullable filePath, NSError * _Nullable error) {
        /** 此处已经在主线程了 */
        UIImage *image = [UIImage imageWithData:[NSData dataWithContentsOfURL:URL]];
        imageView.image = image;
    }];
    /** 默认下载操作挂起,需要手动调用下载 */
    [task resume];
时间: 2024-05-13 21:10:02

从英文变形规则计算到Restful Api设计的相关文章

RESTful API设计给开发人员带来怎样的未来?

业界正在逐渐承认RESTful API优于面向服务架构.但是这对于架构师和开发人员而言到底意味着什么?Tom Nolle分享了他的想法. 在模块化应用世界里,最为持久的争论莫过于面向服务架构和表述性状态转移之争了.本文探讨这样的争论带来了什么及其背后的原因. SOA已经被定性为连接组件和工作流的严格的且重量级的方案,REST则赢得了更多的赞誉.两者的特征都是简化,但是要学习RESTful API设计,架构师和开发人员必须理解SOA和REST之间的差异,学习REST和云以及微服务一起的演进,并且了

RESTful API 设计最佳实践

Web API 近几年变得越来越火,而简洁的 API 设计在多后端系统交互应用中也变得尤为重要.通常,会使用 RESTful API 来作为我们的 Web API .本文介绍了几种简洁 RESTful API 设计的最佳实践. 使用的名词而不是动词 使用名词来定义接口 资源 GET PUT POST DELETE 一组资源的URI,比如http://www.waylau.com/resources/ 列出 URI,以及该资源组中每个资源的详细信息(后者可选). 使用给定的一组资源替换当前整组资源

会话失效-restful api设计,禁用cookie,如何实现会话管理

问题描述 restful api设计,禁用cookie,如何实现会话管理 我在设计restful api时,使用了session来进行会话管理,即登陆时返回一个令牌给客户端,而服务器端保存该令牌在session中,每次客户端使用令牌获取api访问权限,但是现在遇到一个问题,使用session需要用到cookie,但是如果不开启cookie,那会话管理就失效了(必须通过jsessionid来获取对应的session),本来我知道可以用URL重写来做,但是restful似乎无法支持URL重写吧,我的

RESTful API 设计指南

作者: 阮一峰 网络应用程序,分为前端和后端两个部分.当前的发展趋势,就是前端设备层出不穷(手机.平板.桌面电脑.其他专用设备......). 因此,必须有一种统一的机制,方便不同的前端设备与后端进行通信.这导致 API 构架的流行,甚至出现"API First"的设计思想.RESTful API 是目前比较成熟的一套互联网应用程序的 API 设计理论.我以前写过一篇<理解 RESTful 架构>,探讨如何理解这个概念. 今天,我将介绍 RESTful API 的设计细节,

Restful API 就看这些文章 - 收藏集 - 掘金

一套设计良好的 RESTful API 如何成为前后端的桥梁? - 后端 - 掘金 移动互联网时代,RESTful API成为越来越重要的移动端和服务器端交互的形式.尤其是在很多互联网公司或者传统行业拥抱移动互联网的时候,一套设计良好的Restful API能够帮助互联网产品支持单服务端+多客户端的场景.RESTful架构本身是一个风格而不是... RESTful API 利器 Swagger - 后端 - 掘金 目前公司的项目对外交互都是采用 http resful的协议进行通信,数据格式采用

如何更好的设计RESTful API

当您的数据模型已开始稳定,您可以为您的网络应用程序创建公共API. 你意识到,很难对你的API进行重大更改,一旦它发布,并希望尽可能得到尽可能多的前面. 现在,互联网对API设计的意见有很多. 但是,因为没有一个广泛采用的标准在所有情况下都有效,所以你前面有一堆选择:你应该接受什么格式? 你应该如何认证? 你的API是否应该版本化?构建API是您可以做的最重要的事情之一,以提高您的服务的价值. 通过使用API,您的服务/核心应用程序有可能成为其他服务增长的平台. 看看当前巨大的科技公司:Face

PHP中Restful api 错误提示返回值实现思路_php实例

RESTful架构是一种流行的互联网软件架构,它结构清晰,符合标准,易于理解,扩展方便. REST是Representational State Transfer的缩写,翻译为"表现层状态转化".表现层其实就是资源,因此可以理解为"资源状态转化". 网络应用上的任何实体都可以看作是一种资源,通过一个URI(统一资源定位符)指向它. 序言 不管是微博还是淘宝,他们都有自己的错误返回值格式规范,以及错误代码说明,这样不但手机端用起来方便,给人的感觉也清晰明了,高大上.遇

RESTful API 学习

/********************************************************************************* * RESTful API 学习 * 说明: * 在操作TSDB的时候涉及到RESTful API,看一下相关文档. * * 2017-12-4 深圳 南山平山村 曾剑锋 ********************************************************************************/

我所理解的RESTful Web API [设计篇]

<我所理解的RESTful Web API [Web标准篇]>Web服务已经成为了异质系统之间的互联与集成的主要手段,在过去一段不短的时间里,Web服务几乎清一水地采用SOAP来构建.构建REST风格的Web服务是最近两三年风行的潮流,所以很多人以为REST是一个事物.而事实却是:REST自其诞生之日起到现在(2014年)已经有14年了,它为什么叫这么一个"奇怪"的名字呢? 目录 一.为什么叫这个"奇怪"的名字?二.采用URI标识资源 二.采用URI标识