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

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

新規登録して質問してみよう
ただいま回答率
85.48%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

API

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

Q&A

解決済

1回答

273閲覧

falconのapp_route()が上手くいきません

jiei2717

総合スコア19

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

API

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

0グッド

0クリップ

投稿2018/10/29 16:37

前提・実現したいこと

取り敢えずfalcon使い始めたばっかりでサーバーを動かしてみようと思ったのですが引数が足りないようでエラーが出てしまいました。ない荷が足りなかったのでしょうか?

発生している問題・エラーメッセージ

TypeError: add_route() missing 1 required positional argument: 'resource'

該当のソースコード

import json import falcon class AppResource(object): def on_get(self,req,resp): msg = { "message":"Welcome to the Falcon" } resp.body = json.dumps(msg) app = falcon.API app.add_route("/" ,AppResource()) if __name__ == "__main__": from wsgiref import simple_server httpd = simple_server.make_server("127.0.0.1",800,app) http.serve_forever()

試したこと

エラーコードに合わせて、引数名?のようなものを記述してみました。

python

1app.add_route("/" ,resource=AppResource())

これだと

TypeError: add_route() missing 1 required positional argument: 'uri_template'

python

1app.add_route(uri_template="/" ,resource=AppResource())

これだと

TypeError: add_route() missing 1 required positional argument: 'self'

python

1app.add_route(self,uri_template="/" ,resource=AppResource())

これだと

NameError: name 'self' is not defined

どうしたら良いのでしょうか?

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

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

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

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

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

guest

回答1

0

ベストアンサー

python

1app = falcon.API

APIクラスをインスタンス化する必要があるようです。

python

1app = falcon.API()

質問文のエラー、

python

1TypeError: add_route() missing 1 required positional argument: 'uri_template'

appAPIクラスのインスタンスが代入されているべきところ、APPクラスそのものを代入してしまったので、selfの代わりに"/"が渡ったことが原因です。上のようにすれば解決すると思います。


慣れないうちは、適当なqiitaの解説記事とかを見てコピペで動かしたほうが良いと思います。

Python軽量フレームワークFalconでAPI開発 入門(その1) - Qiita

投稿2018/10/29 16:44

hayataka2049

総合スコア30933

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

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

jiei2717

2018/10/30 05:43

このサイトを見ていたのですが書き間違えてました…。 助かりました。ありがとうございます。
hayataka2049

2018/10/30 05:44

なんとなくそんな気がしたのでわざわざ「コピペで」と書きました
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問