質問編集履歴

2

fix

2022/06/06 08:20

投稿

thesnowman
thesnowman

スコア154

test CHANGED
File without changes
test CHANGED
@@ -6,7 +6,7 @@
6
6
  最近、外部APIでのシステムトラブルで、レスポンスボディが存在しないレスポンスが返ってきたときに、nilエラーで異常終了が大量発生してました。
7
7
  ソースコードみてみたら、レスポンスボディが存在することと & レスポンスボディのjsonに処理で使うプロパティが存在する前提(jsonのスキーマが正しい前提)になっていることがわかりました。
8
8
 
9
- なので、外部APIのシステムトラブルによってレスポンスボディが存在しないレスポンスや、(これは実際に起きたことはないですが)必要なプロパティが存在しない、値の型が違うなどレスポンスのjsonの形式が異なっていたりすると、nilエラーが起きて異常終了してしまう作りになっているんですね。
9
+ なので、外部APIのシステムトラブルによってレスポンスボディが存在しないレスポンスや、(これは実際に起きたことはないですが)必要なプロパティが存在しない、値の型が違うなどレスポンスのjsonの形式が異なっていたりすると、nilエラーなどが起きて異常終了してしまう作りになっているんですね。
10
10
 
11
11
  そこで考えたのですが、
12
12
  レスポンスのjsonのスキーマが正しいチェックする仕組みをいれようかなと思いました。

1

fix

2022/06/06 08:19

投稿

thesnowman
thesnowman

スコア154

test CHANGED
File without changes
test CHANGED
@@ -6,7 +6,7 @@
6
6
  最近、外部APIでのシステムトラブルで、レスポンスボディが存在しないレスポンスが返ってきたときに、nilエラーで異常終了が大量発生してました。
7
7
  ソースコードみてみたら、レスポンスボディが存在することと & レスポンスボディのjsonに処理で使うプロパティが存在する前提(jsonのスキーマが正しい前提)になっていることがわかりました。
8
8
 
9
- なので、外部APIのシステムトラブルによってレスポンスボディが存在しないレスポンスや、(これは実際に起きたことはないですが)必要なプロパティが存在しないなどレスポンスのjsonの形式が異なっていたりすると、nilエラーが起きて異常終了してしまう作りになっているんですね。
9
+ なので、外部APIのシステムトラブルによってレスポンスボディが存在しないレスポンスや、(これは実際に起きたことはないですが)必要なプロパティが存在しない、値の型が違うなどレスポンスのjsonの形式が異なっていたりすると、nilエラーが起きて異常終了してしまう作りになっているんですね。
10
10
 
11
11
  そこで考えたのですが、
12
12
  レスポンスのjsonのスキーマが正しいチェックする仕組みをいれようかなと思いました。