2

我在使用 Siesta 时遇到问题 - iOS REST 客户端框架https://bustoutsolutions.github.io/siesta/

下面是对 REST API 服务器的 POST 请求的简单示例,该请求失败并显示“不支持的 URL”错误。有没有人有过午睡的经验,有什么问题?

午睡配置和登录服务器调用

let api = Service(base: "http://myapidomain.net/rest")

enabledLogCategories = LogCategory.all

let parameters = ["username": "username", "password": "password"]

api.resource(url: "users/login").request(.POST, json: NSDictionary(dictionary: parameters)).success { data in
    debugPrint("success logging in")
}.failure { error in
    debugPrint("failed to log in")
}

调试日志

[Siesta:Configuration] Computing configuration for Siesta.Resource(users/login)[]
[Siesta:Configuration] Applying config 0 [Siesta default response transformers] to Siesta.Resource(users/login)[]
[Siesta:NetworkDetails] Request: 
    headers: (1)
      Content-Type: application/json
[Siesta:Network] POST users/login
[Siesta:Network] – ← POST users/login
[Siesta:NetworkDetails] Raw response headers: –
[Siesta:NetworkDetails] Raw response body: 0 bytes
[Siesta:NetworkDetails] Response after transformer pipeline:  (new data) 
   Failure
     userMessage:    "unsupported URL"
     nsError:        "unsupported URL"
"failed to log in"
4

1 回答 1

4

Service.resource(url:)方法(带有标记参数的方法url: )需要一个完整的 URL。它看起来像你想要Service.resource(_:)的,它采用相对于服务的基本 URL 的路径。

尝试:

api.resource("users/login")
于 2015-10-15T14:47:09.223 回答