Siesta iOS POST 请求错误 "unsupported URL"
Siesta iOS POST request errors out with "unsupported URL"
我在使用 Siesta 时遇到问题 - iOS REST 客户端框架 https://bustoutsolutions.github.io/siesta/。
下面是一个向 REST API 服务器发出 POST 请求的简单示例,该请求因 "unsupported URL" 错误而失败。有没有人有任何使用 Siesta 的经验,可能有什么问题?
午睡配置&登录服务器调用
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"
Service.resource(url:)
方法——参数标记为 url:
的方法——需要一个完整的 URL。看起来你想要 Service.resource(_:)
,它采用相对于服务的基础 URL.
的路径
尝试:
api.resource("users/login")
我在使用 Siesta 时遇到问题 - iOS REST 客户端框架 https://bustoutsolutions.github.io/siesta/。
下面是一个向 REST API 服务器发出 POST 请求的简单示例,该请求因 "unsupported URL" 错误而失败。有没有人有任何使用 Siesta 的经验,可能有什么问题?
午睡配置&登录服务器调用
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"
Service.resource(url:)
方法——参数标记为 url:
的方法——需要一个完整的 URL。看起来你想要 Service.resource(_:)
,它采用相对于服务的基础 URL.
尝试:
api.resource("users/login")