BEACHSIDE BLOG

MicrosoftとかC#を好むレンジャーの個人メモ

Azure Functions プロキシ のレスポンスのオーバーライド( responseOverrides )で Json を返す

Azure Functions Proxies の機能のひとつに、リクエストを backend の url に送信せず、定義しておいたレスポンスを直接返すことができます。backend が用意できてないけどクライアント側の都合でどうしても通信したいときにサクッと使えます。

公式ドキュメントはいい感じにまとまっていますが、個人的によく使う Json や Json の Array を返すサンプルがないのでメモしておきました。

シンプルな Json のレスポンス

例として、api/item/1 って URL に GET を投げると、id (URL の最後についてる数字の1)の item の値を返す Function Proxy のサンプルです。 proxies.json は以下の感じ。

Json はどう表現すればいいのかなーと思ったら、13-17行目のように response.body にそのまま書けばよいやつですね。

後は、私は、テキトーに試してる時にうまく動かなったりしたので debug を true にしてやってました(5行目)。デバッグログの見方はこちら に書いてます。

また、リクエストのクエリパラメーターやその他諸々の値を取得してレスポンスに埋め込むことができます。公式ドキュメントのここら辺 に記載があります。

Postman でリクエスト投げたら、想定通りのレスポンスが返ってきます。

f:id:beachside:20190131001133p:plain


Json の配列のレスポンス

api/item という URL に GET を投げると、item の一覧が取得できる Functions Proxies を想定しています。

Postman で投げたら想定通りに返ってきます。

f:id:beachside:20190131001055p:plain

その他の基本的な Tips

ちょっとしたメモを残しておきます。


参考(公式ドキュメント)

Azure Functions でのプロキシの操作 | Microsoft Docs