相当于邮递员GET请求的Alamofire

问题描述 投票:0回答:1

[我在一个iOS应用程序上工作,我使用“ Alamofire”进行API请求,我测试了邮递员的API(由Slim框架创建),但是我无法得到Alamofire的等效邮递员请求。

邮递员要求如下:enter image description here

并且我尝试如下Alamofire:

  let parm = ["Password_Father": "test", "Username_Father": "test"]
        let headers :  HTTPHeaders = ["content-type": "application/json"]
        AF.request(URL(string: "http://my.domain.com/page1/login")!,
                   method: .get, // also try it as post but get error 500 as postman when using post method
                   parameters:parm,
                   encoding: JSONEncoding.default,
                   headers: headers)
            .validate(statusCode: 200..<300)
            .responseJSON { response in
                switch response.result
                {
                case .success(_) :do {
                    print("success")
                    }
                case .failure(let error):
                    print("failure(error)",error)

                    break
                }
        }

但我收到此错误failure(error) urlRequestValidationFailed(reason: Alamofire.AFError.URLRequestValidationFailureReason.bodyDataInGETRequest)

如何获得Alamofire对邮递员的同等要求。

ios swift postman alamofire slim
1个回答
0
投票

在Google之后找到this

添加域例外

添加域例外很容易。您添加NSExceptionDomains目标的NSAppTransportSecurity词典的键Info.plist。键的值是一个字典,其中每个键为字典是领域例外。看一下以下内容澄清示例。

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoads</key>
    <false/>
    <key>NSExceptionDomains</key>
    <dict>
        <key>cocoacasts.com</key>
        <dict>
            <key>NSIncludesSubdomains</key>
            <true/>
            <key>NSExceptionAllowsInsecureHTTPLoads</key>
            <true/>
        </dict>
   </dict>
</dict>

在上面的示例中,它添加了一个子域cocoacasts.com,并将NSExceptionAllowsInsecureHTTPLoads设置为允许对该子域进行http请求。 post一开始就说过。

Apple最近宣布,每个版本都已提交到App Store从1月1日开始需要启用App Transport Security2017。

这意味着默认情况下,所有通信都运行https。如果应用程序需要http,则需要为那些例外子域配置Info.plist

© www.soinside.com 2019 - 2024. All rights reserved.