小编Ole*_*ndr的帖子

AFNetworking 2.0 AFHTTPSessionManager:如何在故障块中获取状态代码和响应JSON?

切换到AFNetworking 2.0时,AFHTTPClient已被AFHTTPRequestOperationManager/AFHTTPSessionManager替换(如迁移指南中所述).我在使用AFHTTPSessionManager时遇到的第一个问题是如何在故障块中检索响应的主体?

这是一个例子:

[self.sessionManager POST:[endpoint absoluteString] parameters:params success:^(NSURLSessionDataTask *task, id responseObject) {
    // How to get the status code?
} failure:^(NSURLSessionDataTask *task, NSError *error) {
    // How to get the status code? response?
}];
Run Code Online (Sandbox Code Playgroud)

在成功块中,我想检索响应的状态代码.在故障块中,我想检索响应的状态代码和内容(在这种情况下,这是描述服务器端错误的JSON).

NSURLSessionDataTask具有NSURLResponse类型的响应属性,该属性没有statusCode字段.目前我能够像这样检索statusCode:

[self.sessionManager POST:[endpoint absoluteString] parameters:params success:^(NSURLSessionDataTask *task, id responseObject) {
    // How to get the status code?
} failure:^(NSURLSessionDataTask *task, NSError *error) {
    NSHTTPURLResponse *response = (NSHTTPURLResponse *)task.response;
    DDLogError(@"Response statusCode: %i", response.statusCode);

}];
Run Code Online (Sandbox Code Playgroud)

但这看起来很丑陋.而且仍然无法想象响应的身体.

有什么建议?

objective-c afnetworking-2

51
推荐指数
4
解决办法
4万
查看次数

在AFHTTPRequestOperationManager和AFHTTPSessionManager之间进行选择时的建议

由于AFNetworking 2.0AFHTTPClient已经消失的青睐两位经理的:AFHTTPRequestOperationManagerAFHTTPSessionManager.迁移指南几乎没有说明每种情况下最好使用的情况.据我所知,与RESTful的基本交互JSON API可以分别使用它们中的每一个来实现.

什么是最合适的情况使用RequestOperationManagerSessionManager

objective-c afhttpclient afhttprequestoperation afnetworking-2

15
推荐指数
1
解决办法
4213
查看次数

在golang应用程序中组织测试并避免导入周期地狱

我目前遇到了构建应用程序结构及其测试基础架构的问题.

这是布局的简要概述

<GOROOT>/src/myapp/controllers/
<GOROOT>/src/myapp/controllers/account.go
...
<GOROOT>/src/myapp/models/
<GOROOT>/src/myapp/models/account.go
<GOROOT>/src/myapp/models/account_test.go
...
<GOROOT>/src/myapp/components/
<GOROOT>/src/myapp/components/comp1/
<GOROOT>/src/myapp/components/comp1/impl.go
<GOROOT>/src/myapp/components/comp1/impl_test.go
<GOROOT>/src/myapp/components/
...
<GOROOT>/src/myapp/testutil/
<GOROOT>/src/myapp/testutil/database.go
<GOROOT>/src/myapp/testutil/models.go
...
Run Code Online (Sandbox Code Playgroud)

问题1

File myapp/testutil/models.go包含models/*_test.go测试中使用的一些util函数.util函数实际上使用包myapp/models数据结构和函数.因此我们有一个导入周期:account_test.go进口testutil包,进而导入models.

这里唯一明确的解决方案就是testutil/models.gomodels包装内部保持相同的包装test_utils.go,这对我来说似乎有些笨拙.在这种情况下,最好的解决办法是什么?

问题2

testutil包有一些初始化comp1(假设它是第三方服务的客户端).当我们运行测试时comp1/impl_test.go,testutil导入包,并导入comp1包,因为它负责组件的初始化.相同的循环导入地狱.将初始化移动到测试用例中的每个位置似乎是代码的重复.仍在寻找一些优雅的解决方案......

architecture testing go web

6
推荐指数
1
解决办法
3189
查看次数

AFNetworking 2.0:当收到302到AWS S3时,NSURLSessionDownloadTask被取消

我正在使用README文件(来自AFNetworking 2.0页面)中的一个简单示例来下载图像.对于直接从我的web服务器提供的图像,一切正常.但是对于那些位于S3上的人来说,web服务器返回302重定向以下错误:

Error Domain=NSURLErrorDomain Code=-999 "cancelled"
Run Code Online (Sandbox Code Playgroud)

当我尝试直接从S3下载图像(使用相同的代码)(省略重定向)时,我收到相同的错误.

我用wget检查了实际图像的可用性.该图像是公开的(https://youguide.s3.amazonaws.com/icons/user_96x96.png).

有人遇到过类似的问题吗?

https amazon-s3 afnetworking-2

3
推荐指数
1
解决办法
3558
查看次数

使用“资源”模板/步骤和“获取”操作在 Argo 工作流程中提取资源并传递到下游步骤?

我正在探索一种在 Argo 工作流程中读取 K8S 资源的简单方法。当前文档主要关注有条件的创建/补丁(https://argoproj.github.io/argo/examples/#kubernetes-resources),而我很好奇是否可以执行“action: get”,额外资源状态(或完整资源)的一部分,并将其作为工件或结果输出传递给下游。有任何想法吗?

kubernetes argo-workflows

3
推荐指数
1
解决办法
1838
查看次数