Python 访问FlaskAPI中的第二个资源
我有一个使用Flask的简单Api,它使用下面的代码返回字符串列表:Python 访问FlaskAPI中的第二个资源,python,flask,flask-restful,Python,Flask,Flask Restful,我有一个使用Flask的简单Api,它使用下面的代码返回字符串列表: from flask import Flask, request from flask_restful import Resource, Api from json import dumps app = Flask(__name__) api = Api(app) class Product(Resource): def get(self): return {'products':['A','B',
from flask import Flask, request
from flask_restful import Resource, Api
from json import dumps
app = Flask(__name__)
api = Api(app)
class Product(Resource):
def get(self):
return {'products':['A','B','C','D','E','F','G','H','I','J','K']}
class Accounting(Resource):
def get(self):
return {'accounting':['1','2','3','4','5','6','7','8','9']}
api.add_resource(Product, '/')
api.add_resource(Accounting, '/')
if __name__ == '__main__':
app.run(host='0.0.0.0', port=80, debug=True)
当我使用以下代码时,我可以访问FlaskAPI中定义的列表。这列出了“产品”资源的内容
我遇到的问题是访问第二个资源“accounting”。当使用下面的代码(使用PHP)时,甚至当我只是转到网页的主页地址时,我都无法看到或访问这些资源
<?php
$json = file_get_contents('http://product-service/');
$obj = json_decode($json);
$accounts = $obj->accounting;
echo "$accounts[0]";
?>
有人能给我指出正确的方向吗
提前谢谢
Michael您在一个路径下安装了两个API:根路径“/”,我建议将产品和记帐分离到单独的API点:
from flask import Flask, request
from flask_restful import Resource, Api
from json import dumps
app = Flask(__name__)
api = Api(app)
class Product(Resource):
def get(self):
return {'products':['A','B','C','D','E','F','G','H','I','J','K']}
class Accounting(Resource):
def get(self):
return {'accounting':['1','2','3','4','5','6','7','8','9']}
api.add_resource(Product, '/products')
api.add_resource(Accounting, '/accounting')
if __name__ == '__main__':
app.run(host='0.0.0.0', port=80, debug=True)
嘿,它起作用了!,我使用了上面的建议,并将此代码添加到php部分
$json=file\u get\u contents('http://product-service/accounting');代码>谢谢:)
from flask import Flask, request
from flask_restful import Resource, Api
from json import dumps
app = Flask(__name__)
api = Api(app)
class Product(Resource):
def get(self):
return {'products':['A','B','C','D','E','F','G','H','I','J','K']}
class Accounting(Resource):
def get(self):
return {'accounting':['1','2','3','4','5','6','7','8','9']}
api.add_resource(Product, '/products')
api.add_resource(Accounting, '/accounting')
if __name__ == '__main__':
app.run(host='0.0.0.0', port=80, debug=True)