私は本当に奇妙な(そして厄介な)APIを手にしていません。残念ながら、無効なリクエストが行われた場合、4xxステータスで応答するのではなく、 200のステータスを返します。エラーとして成功siestaレスポンスをマーク
このレスポンスでは、レスポンスボディも通常のXMLレスポンスからプレーンテキストに変更されますが、コンテンツタイプヘッダーは変更されません。あなたはこれがいかに迷惑であるか想像することができます!
私はシエスタとAPIを使って作業していますが、それは実際にはほんのわずかしかRESTfulではありませんが、次の部分をどのように動作させるのかは不明です。
技術的に有効で成功した200応答をエラー応答に変換するにはどうすればよいですか?今、私は次のセットアップを持っている:
bad api request: invalid api key
:応答が実際にしかし応答が誤りであるシナリオでは、私は次のことを受け取る、XMLであるとき
configure("/endpoint") {
$0.mutateRequests { req in
... perform some mutation to request ...
}
$0.pipeline[.parsing].add(self.XMLTransformer)
}
configureTransformer("/endpoint") {
($0.content as APIResponse)
.data()
.map(Resource.init)
}
これがうまく働いていますまたはこれに類似したもの。 XMLParserクラスはすでにこれを処理していますが、エラーを起こしたとマークすることはできますが、エラーがあることをシエスタに認識させる方法と、トランスフォーマを呼び出さず、代わりにリクエストを失敗としてマークする方法はわかりません私は他の場所でエラーを処理することができます。
私は後に何を達成できますか?
ありがとうございました!私はそれを働かせることができたと思う:D – PaReeOhNos