def get(self, item_id): """Get item.""" item = Item.query.get_or_404(item_id) if g.current_user != item.author: return api_abort(403) # 使用模式函数获取资源字典,并传入对用的模型类实例作为参数, # 调用jsonify()方法将资源字典对象转换为标准的JSON数据,它会为响应报文设置正确的Content-Type字段(即'application/json') return jsonify(item_schema(item))
def post(self): """Create new item.""" item = Item(body=get_item_body(), author=g.current_user) db.session.add(item) db.session.commit() response = jsonify(item_schema(item)) response.status_code = 201 response.headers['Location'] = url_for('.item', item_id=item.id, _external=True) return response
def post(self): """Create new item.""" # 调用get_item_body()函数获取请求JSON中的body值, # 调用flask的全局变量g,获取当前用户 # print('----', '断点3') item = Item(body=get_item_body(), author=g.current_user) # 将新创建的条目存储到数据库中 db.session.add(item) db.session.commit() # 调用item_chema()模式函数,并传入item实例作为参数,返回按照预定模式创建的字典对象, # 调用jsonify()函数生成JSON数据,存储到response变量中 response = jsonify(item_schema(item)) response.status_code = 201 # 设置状态码201,表示已创建 # 在响应头部的Location字段设置新创建条目的URL response.headers['Location'] = url_for('.item', item_id=item.id, _external=True) return response # 返回新创建条目资源作为响应
def get(self, item_id): """Get item""" item = Item.query.get_or_404(item_id) if g.current_user != item.author: return api_abort(403) return jsonify(item_schema(item))