Skip to content
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

APIの仕様書を作成した #5

Merged
merged 16 commits into from
Oct 3, 2024
Merged

APIの仕様書を作成した #5

merged 16 commits into from
Oct 3, 2024

Conversation

kimurash
Copy link
Member

@kimurash kimurash commented Sep 29, 2024

Close #4

  • /books
    • create
    • read
    • update
    • delete
    • search
  • /users
    • create
    • read
    • update
    • delete
  • /loans
    • read
    • update

@kimurash kimurash requested a review from Kosei805 September 29, 2024 20:00
@kimurash kimurash self-assigned this Sep 29, 2024
@kimurash
Copy link
Member Author

Swagger Editor で確認するのがおすすめです.

  • api ディレクトリで npm run bundle を実行して bundle.yml を生成する
  • bundle.yml を Swagger Editor に貼り付けて確認する

@kimurash kimurash marked this pull request as ready for review October 1, 2024 07:34
Copy link
Contributor

@Kosei805 Kosei805 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

以下気になった点

  • Swagger UIでテスト実行できないんやけどこれまだデプロイ先でAPIサーバ構築してないからよね
  • antherはGoogle Books APIだと配列だけど結合して文字列でいいのね
  • 本にtagみたいなのを使うって話はどうなってる感じ?今の段階だと気にしなくていいんかな
  • 本のサムネイルURLは使わないかな?なんか画像ないと味気なくない?
  • 本の情報をUPDATEした時に返す値はOKではなくて、変更後の本の情報じゃね?
  • UPDATE BOOKのとこで、渡す情報はBOOKのすべての情報をテストで渡してるけど、これ一部だけ渡すとどうなるの?一部の情報だけ送った時はその情報だけ更新されるって実装は難しいかな。難しいならフロントの方で配慮した設計にするけど。
  • ↑BOOK以外のスキーマでも同様の疑問があります。
  • BOOKの検索APIについてテストでは本データ全部入れてるけどこれって全部必要?それだと検索は実質不可能では
  • キーワード検索みたいなやつって実装する予定ありますかね
  • PAGE系のAPIはpage番号と各ページごとに何個表示するかみたいなクエリもいるくないか?
  • なんかデータの更新系はOKを返すことが多いけど、変更後のスキーマを返す方が良くね?
  • loanのPUT系のAPIでcreated_atとかupdate_atってあるけどこれフロントエンド側が現在自国の時間データ獲得するの?こういうのってバックエンド側では?
  • loanのデータがcrteateされる時っていつ?初めてPUTが叩かれた時?もしそうならフロントは楽でありがたいわね。
  • ユーザー名じゃなく、メールアドレスで管理するんやね。それならFIrebaseとか実装してみた方が良いかね。

コメントと質問が混ざってるけど、一応全部確認してください。
ただ、いくつかの質問は実際のAPI実装時にはっきりしそうですね。ただ共通認識は欲しいので。
ひとまずコメント確認した上で問題なさそうならmergeしてOKです!!

@kimurash
Copy link
Member Author

kimurash commented Oct 3, 2024

Swagger UIでテスト実行できないんやけどこれまだデプロイ先でAPIサーバ構築してないからよね

そうです

@kimurash
Copy link
Member Author

kimurash commented Oct 3, 2024

autherはGoogle Books APIだと配列だけど結合して文字列でいいのね

文字列の結合をフロントとバックどっちでやるかによって変わってくる。配列にしておいた方がフロントの実装に柔軟性を持たせることができるので、配列で返すように変更しよう。

@kimurash
Copy link
Member Author

kimurash commented Oct 3, 2024

本にtagみたいなのを使うって話はどうなってる感じ?今の段階だと気にしなくていいんかな

タグを付けるとなると考えることが増えるので、後からでもいいかなと思っている。まずは最低限の機能でリリースまで持っていきたい。

@kimurash
Copy link
Member Author

kimurash commented Oct 3, 2024

本のサムネイルURLは使わないかな?なんか画像ないと味気なくない?

確かに画像あった方が見栄えがいいね。本を取得するAPIにURLを追加しよう。

@kimurash
Copy link
Member Author

kimurash commented Oct 3, 2024

本の情報をUPDATEした時に返す値はOKではなくて、変更後の本の情報じゃね?

なんかデータの更新系はOKを返すことが多いけど、変更後のスキーマを返す方が良くね?

変更後にリダイレクトする画面で変更後の本の情報が必要なら、本の情報を返す必要があると思う。必要ないならOKでもいいと思う.

更新後のリダイレクト先がまだ決まっていなかったので,話し合いたい.

@kimurash
Copy link
Member Author

kimurash commented Oct 3, 2024

UPDATE BOOKのとこで、渡す情報はBOOKのすべての情報をテストで渡してるけど、これ一部だけ渡すとどうなるの?一部の情報だけ送った時はその情報だけ更新されるって実装は難しいかな。難しいならフロントの方で配慮した設計にするけど。

一部だけ渡された場合は、その属性だけ更新する仕様で考えている

@kimurash
Copy link
Member Author

kimurash commented Oct 3, 2024

キーワード検索みたいなやつって実装する予定ありますかね

タイトルとか著者とか関係なくキーワードだけで簡易検索できる機能だと理解した.

結論は今のところ考えていない.実装するなら,簡易検索と詳細検索で画面を分ける必要があると思っていて,いち早くリリースするためにまずは詳細画面だけ実装する方針で考えている.

@kimurash
Copy link
Member Author

kimurash commented Oct 3, 2024

PAGE系のAPIはpage番号と各ページごとに何個表示するかみたいなクエリもいるくないか?

そこはバックエンドで固定値にしようと思ってたけど、柔軟性を持たせるために指定できるようにしよう。

@kimurash
Copy link
Member Author

kimurash commented Oct 3, 2024

loanのPUT系のAPIでcreated_atとかupdate_atってあるけどこれフロントエンド側が現在時刻の時間データ獲得するの?こういうのってバックエンド側では?

パラメータから消しておく

@kimurash
Copy link
Member Author

kimurash commented Oct 3, 2024

loanのデータがcrteateされる時っていつ?初めてPUTが叩かれた時?もしそうならフロントは楽でありがたいわね。

PUTしか用意しない場合は新規作成と更新をどうやって区別するか?が問題となる.貸借のAPIはもう一度考え直す必要がありそう.

@kimurash
Copy link
Member Author

kimurash commented Oct 3, 2024

ユーザー名じゃなく、メールアドレスで管理するんやね。それならFIrebaseとか実装してみた方が良いかね。

「Firebaseとか実装してみる」の意味を理解できなかった.Firebaseを使うのが良さそうというアドバイス?

@Kosei805
Copy link
Contributor

Kosei805 commented Oct 3, 2024

ユーザー名じゃなく、メールアドレスで管理するんやね。それならFIrebaseとか実装してみた方が良いかね。

「Firebaseとか実装してみる」の意味を理解できなかった.Firebaseを使うのが良さそうというアドバイス?

これはただのメモでしたわ。あんま気にしないで。

@Kosei805
Copy link
Contributor

Kosei805 commented Oct 3, 2024

追加で気になったこと

  • Login, LogoutをAPIをたたいて確認するなら現在ユーザーがログインしているか確認するAPIってあったっけ?ログインしているかしてないかでフロントエンドの記載方法が変わるから確認手段欲しいんやけど。もし見逃してたらごめん

現在ログインしているかどうかは,Cookieの値で確認できるようにするつもり.APIを用意するつもりはない.

スレッド機能が使えないのでここに返信した.次回からはスレッド機能が使える 行コメント を使っていこう.

Copy link
Contributor

@Kosei805 Kosei805 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!!!!!!

@kimurash kimurash merged commit 7eba294 into main Oct 3, 2024
2 checks passed
@kimurash kimurash deleted the 4-openapi branch October 9, 2024 16:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

APIの仕様書を作成する
2 participants