我正在使用flask 和flask-restful 设置一个简单的rest api。现在我要做的就是用一些 Json 数据创建一个 post 请求,然后返回它只是为了看看它是否有效。我总是得到同样的错误"message": "Failed to decode JSON object: Expecting value: line 1 column 1 (char 0)"
下面是我的代码
from flask import Flask, jsonify, request
from flask_restful import Resource, Api
app = Flask(__name__)
api = Api(app)
class Tester(Resource):
def get(self):
return {'about': 'Hello World'}
def post(self):
data_json = request.get_json(force=True)
return {'you sent': data_json}
api.add_resource(Tester, '/')
if __name__ == '__main__':
app.run(debug=True)
Run Code Online (Sandbox Code Playgroud)
我为了测试这个而提出的 curl 请求如下,我也尝试过使用邮递员提出请求
curl -H "Content-Type: application/json" -X POST -d '{'username':"abc",'password':"abc"}' http://localhost:5000
Run Code Online (Sandbox Code Playgroud) 我发现了一个3岁的问题,可以帮助我计算列表中变量的出现次数.问题的答案如下.代码有效.但是我无法理解,有人能帮我理解这个吗?
这是我发现的代码的答案,用引号写的是答案的一部分:
count([],X,0).
count([X|T],X,Y):- count(T,X,Z), Y is 1+Z.
count([X1|T],X,Z):- X1\=X,count(T,X,Z).
Run Code Online (Sandbox Code Playgroud)
'但请注意,第二个参数X应该被实例化.所以例如count([2,23,3,45,23,44,-20],23,C)将C与2统一.如果你想要每个元素的计数使用'
:- use_module(library(lists)).
count([],X,0).
count([X|T],X,Y):- count(T,X,Z), Y is 1+Z.
count([X1|T],X,Z):- X1\=X,count(T,X,Z)
countall(List,X,C) :-
sort(List,List1),
member(X,List1),
count(List,X,C).
Run Code Online (Sandbox Code Playgroud)
'那你得到'
?- countall([2,23,3,45,23,44,-20],X,Y).
X = -20,
Y = 1 ;
X = 2,
Y = 1 ;
X = 3,
Y = 1 ;
X = 23,
Y = 2 ;
X = 44,
Y = 1 ;
X = 45,
Y = 1 ;
no
Run Code Online (Sandbox Code Playgroud)
我是Prolog的新手,我只理解这段代码的一部分,就是这个
sort(List,List1),
member(X,List1),
Run Code Online (Sandbox Code Playgroud)
我会很感激这个问题的解释,特别是如何打印Y.