Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 访问FlaskAPI中的第二个资源_Python_Flask_Flask Restful - Fatal编程技术网

Python 访问FlaskAPI中的第二个资源

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',

我有一个使用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','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)