예제 #1
0
 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))
예제 #2
0
 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
예제 #3
0
 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  # 返回新创建条目资源作为响应
예제 #4
0
 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))