mercari-build / mercari-build-training

24 stars 225 forks source link

Step3 pull request #159

Closed MisukiAkiyama closed 8 months ago

MisukiAkiyama commented 8 months ago

What

Step3を実装しました。 https://github.com/MisukiAkiyama/mercari-build-training/blob/main/document/03-api.ja.md

gitの使い方がよくわかっていないので、この機会で使いこなせるようになりたいと思います! 読みやすいプルリクも作成できるようにする。

1. APIをたたいてみる

人生初APIたたきしました。 わからないことだらけで調べながらやるので、人一倍時間がかかりそう。。。頑張ります!

2. 新しい商品を登録する

new_item = {"name": name, "category": category}

3. 商品一覧を取得する

jsonファイルを読み込んで出力する。

4. 画像を登録する

ハッシュについては以前触れたことがありましたが、sha256といったようなハッシュ関数を使ったのは初めてでした。(以前触れた時は、自分で世界で一番単純であろうハッシュ関数を作った。)

Ryosukeさんに助けていただき、Internal Server Error問題を解決することができました...!!ありがとうございます!!

os.path.basename関数は、文字列、バイト、またはos.PathLikeオブジェクトを引数として取りますが、そこにUploadFileオブジェクトであるimage が渡されているので、エラーになっています。 .filename は、UploadFileオブジェクトの属性(アトリビュート)です。FastAPIのUploadFileクラスにおいて、filename属性はアップロードされたファイルのオリジナルのファイル名を保持するため、上記の変更で、Internal Server Errorは解消されると思います(自分の手元では確認しました)。

5. 商品の詳細を返す

指定した数がitemの数以上であったらエラーを返す。

6. (Optional) Loggerについて調べる

logger.level = logging.INFO -> logger.level = logging.DEBUG に変更 これでデバッグが出力されるようになりました! 参考 : Pythonにおけるlogging徹底攻略 ( https://qiita.com/Broccolingual/items/9838443aa6838a867041 )

CHECKS :warning: