-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
正常系以外の response のステータスを確認する #37
Comments
正常系
上のどこかで転けた時はどうする?1. クエリパラメーターに key の値があるkey がなかった場合は、こちらの考慮に従い 404 を返す。 2. key の値が条件を満たす『条件を満たさなかった場合 = key が DB に存在しない = 未認証』という扱いのため、 条件チェック時に DB 操作からエラーが返ってきた場合 3. クエリパラメーターに gn の値があるgn がなかった場合は、こちらの考慮に従い 404 を返す。 4. gn の値が DB の
|
なぜ gn がパスパラメーターにないと 404 になっているのかRouter の設定時に func (server *Server) setupRouter() {
r := mux.NewRouter()
rootPath := os.Getenv("SCRIPT_NAME")
r.Path(rootPath+"/members").
Queries("gn", "{gn}").
HandlerFunc(server.getAllMembers).
Methods("GET") そもそも必須のクエリパラメータがあることがよくない? 必須のパラメーターがなかった場合、その URI がエンドポイントとして機能しないのであれば、ハンドラーに渡す前段階で弾いて 404 とかにするのが自然な気がする。 mux の
|
must の query parameters がない時、何を返すといいか?go の mux しかり、Azure API(?) しかり、ライブラリなどを提供する側としては 404 で返すことが多いよう。 mux の
Links |
status code メモMDM を参考にしている 400 Bad Request
構文が無効であるためサーバーがリクエストを理解できないことを示します。 401 Unauthorized
未認証(cf: 認可がない場合は 403) 404
これに該当しそう。
403 Forbidden
未認証ではなく、認可なし。
|
#34 の一環で、クエリパラメーター key, gn の有無によってステータスコードがどう変わるかを調べた。
その際、gn がない時と key がない時でステータスコードが異なることがわかった。
この辺の設計が正しいか確認・修正する。
The text was updated successfully, but these errors were encountered: