POST requests
Using our new knowledge of the Flask Restful parser, the POST
endpoint can be added. First, we will need a parser that will take a title, the body text, and a list of tags. In the parser.py
file, add the following:
post_post_parser = reqparse.RequestParser() post_post_parser.add_argument( 'title', type=str, required=True, help="Title is required" ) post_post_parser.add_argument( 'text', type=str, required=True, help="Body text is required" ) post_post_parser.add_argument( 'tags', type=str, action='append' )
Next, the PostApi
class will need a post
method to handle incoming requests. The post
method will use the given values for the title and body text. Also, if the tags key exists, then add the tags to the post, which creates new tags if the passed ones do not exist:
import datetime from .parsers import ( post_get_parser, post_post_parser ) from webapp.models import db, User, Post, Tag class PostApi(Resource): … def...