質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.37%
MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

Q&A

1回答

990閲覧

自作でapiを作ってみたが表示されない

tai_yoko

総合スコア18

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

0グッド

0クリップ

投稿2021/08/25 06:50

編集2021/08/25 09:54

apiを作ってみて、実行したのですが表示されません。エラーは出ず、実行したときに表示されたhttp//で始まるurlを試したのですが,
このサイトにアクセスできません192.168.3.3 で接続が拒否されました
と出てきてしまいます。解決策を教えていただきたいです。コードは以下のようです。

python3

1from flask import Flask, jsonify, abort, make_response 2import peewee 3 4db = peewee.SqliteDatabase("data.db") 5 6class User(peewee.Model): 7 id = peewee.IntegerField() 8 name = peewee.TextField() 9 friends = peewee.IntegerField() 10 11 class Meta: 12 database = db 13api = Flask(__name__) 14 15@api.route('/Users/<int:id>', methods=['GET']) 16def get_user(id): 17 try: 18 user = User.get(User.id == id) 19 except User.DoesNotExist: 20 abort(404) 21 22 result = { 23 "result":True, 24 "data":{ 25 "id":user.id, 26 "name":user.name, 27 "friends":user.friends 28 } 29 } 30 31 return make_response(jsonify(result)) 32 33@api.errorhandler(404) 34def not_found(error): 35 return make_response(jsonify({'error': 'Not found'}), 404) 36 37if __name__ == '__main__': 38 api.run(host='0.0.0.0', port=3000)

またtsvファイルをインポートしたコードは以下のようです。

python3

1import peewee 2import csv 3 4 5db = peewee.SqliteDatabase("data.db") 6 7class User(peewee.Model): 8 id = peewee.IntegerField() 9 name = peewee.TextField() 10 friends = peewee.IntegerField() 11 12 class Meta: 13 database = db 14 15User.create_table() 16 17with open("test.tsv", encoding='utf-8', newline='') as f: 18 for cols in csv.reader(f, delimiter='\t'): 19 print(cols)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tai_yoko

2021/08/25 07:33

上のコードを実行した時 * Serving Flask app 'api' (lazy loading) * Environment: production WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. * Debug mode: off * Running on all addresses. WARNING: This is a development server. Do not use it in a production deployment. * Running on http://192.168.3.3:3000/ (Press CTRL+C to quit) とでてhttp://192.168.3.3:3000/Users/1 と検索してもページが表示できません。
can110

2021/08/25 07:47

この欄に追記するのではなく、質問本文を編集してください。 「ページが表示できません。」という現象について、もう少し具体的に説明ください。
hoshi-takanori

2021/08/25 08:54

接続が拒否されるってことはファイアーウォールの設定とかかも。
tai_yoko

2021/08/25 09:00

表示の問題は解決されました! ありがとうございます
guest

回答1

0

当方環境では質問に提示されたコードで問題なく動作しました。
Flaskをデバッグモードで実行して原因を調査してみてはいかがでしょうか。
参考:flaskのdebug modeをonにする

投稿2021/08/25 08:16

can110

総合スコア38339

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tai_yoko

2021/08/25 08:59

表示できない問題は解決したのですが、URLを入力しても{'error': 'Not found'}とこちらではなってしまうのですが、そちらの環境ではid,nameなど正常に表示されましたでしょうか。
can110

2021/08/25 09:01

はい。data.dbの内容が適切であれば提示コードで問題ないはずです。
tai_yoko

2021/08/25 09:56

そうなんですね、、、 もう少し粘ってみようと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.37%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問