細かいところを修正。テストを追加。nullチェックを追加。リクエストの内容をチェック、outofbounds対策。