【发布时间】:2018-06-19 21:29:33
【问题描述】:
我尝试在使用 POST 方法时通过 URL 在 list 中搜索 dictionary,我正在使用 postman 进行此操作。搜索的URL示例如下:
http://localhost:5000/api/v1/7/requests
7 是一个 id ,如果它存在,它会被发布并在字典列表中搜索。这是我要搜索的dictionary 的示例列表。
[
{
"id": 1,
"offer_details": "This offer cuts down 3% of the drive, you want ",
"offer_name": "eid offer ",
"offer_price": 8000
},
{
"id": 2,
"offer_details": "This offer cuts down 3% of the drive, you want ",
"offer_name": "supper offer ",
"offer_price": 8000
},
{
"id": 3,
"offer_details": "This offer cuts down 3% of the drive, you want ",
"offer_name": "easter offer ",
"offer_price": 8000
}
]
所以下面是我的代码,如果 id 可用或不可用,我想调整它以很好地搜索列表。
目前代码没有很好地搜索列表
class RequestRideOffer(Resource):
def post(self, rideId):
parser = reqparse.RequestParser()
parser.add_argument('token', location='headers')
args = parser.parse_args()
if not args['token']:
return make_response(jsonify({"message": "Token is missing"}), 401)
decoded = decode_token(args['token'])
if decoded["status"] == "Failure":
return make_response(jsonify({"message": decoded["message"]}), 401)
if decoded['isDriver'] == "False":
return make_response(jsonify({"message": "Invalid for Drivers "}), 401)
# return make_response(jsonify({"message": "Meal not found"}), 404)
#performing a search for the rideId
if not any(d['id'] == rideId for d in rides_list):
return make_response(jsonify({"message": "Request has been made successfully."}), 400)
else :
return make_response(jsonify({"message": "Sorry,No ride offer available for your request."}), 400)
return make_response(jsonify({"message": "Invalid request, please insert again."}), 400)
这是我在上面的代码中搜索的方式,我该如何改进这个代码:
#performing a search for the rideId
if not any(d['id'] == rideId for d in rides_list):
return make_response(jsonify({"message": "Request has been made successfully."}), 400)
else :
return make_response(jsonify({"message": "Sorry,No ride offer available for your request."}), 400)
【问题讨论】:
-
您能否将代码示例限制在与您的问题相关的部分?你想要的行为的测试是什么(代码行
assert)? -
@EvgenyPogrebnyak,我已经编辑了我的问题
标签: python list dictionary flask postman