- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用参数为端点配置转换器。
我成功地为不包含任何参数的端点配置了转换器。但似乎当我尝试使用参数对资源执行相同操作时,它不起作用。
这是我配置变压器的方式:
var getExampleData: Resource { return resource(exampleDataEndpoint) }
configureTransformer(getExampleData) {
try jsonDecoder.decode(ExampleDataResponse.self, from: $0.content)
}
这就是我发送请求的方式:
Api.getExampleData.withParam("foo", "bar").addObserver(self).loadIfNeeded()
我得到了响应,但它从未通过变压器管道。
Response: 200 ← GET http:example.com/enpoint?foo=bar
Siesta:pipeline │ [thread ᎠᏔᎼᎼ] └╴Response after pipeline: success: 28 bytes
编辑
在转换上测试了 .withParam()
方法,该方法工作正常,但似乎 URL 必须相同才能使 Siesta 转换器工作,这很糟糕。
最佳答案
不同的查询字符串意味着不同的 URL,different URLs mean different Siesta resources :
Note that “URL” includes the whole URL: protocol, host, path, and query string. It does not include headers, however. Different query strings? Different resources. http vs https? Different resources.
因此:
let resource0 = Api.getExampleData
let resource1 = Api.getExampleData.withParam("foo", "bar”)
resource0 == resource1 // → false
所以当你这样做时:
configureTransformer(getExampleData) { ... }
…仅适用于 getExampleData
,不适用于具有不同参数的任何变体。
如果您希望配置应用于共享路径的所有资源,请匹配路径:
configureTransformer("/example/path") { ... }
关于swift - 带参数的 Siesta configureTransformer for Resource,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54563364/
我正在尝试使用参数为端点配置转换器。 我成功地为不包含任何参数的端点配置了转换器。但似乎当我尝试使用参数对资源执行相同操作时,它不起作用。 这是我配置变压器的方式: var getExampleDat
我是一名优秀的程序员,十分优秀!