GET requests

For some of our GET, PUT, and DELETE requests, our API will need the ID of the Post to modify. The add_resource method can take multiple routes, so let's add the second route that captures the passed ID:

   rest_api.add_resource(
        PostApi,
        '/api/post',
        '/api/post/<int:post_id>',
        endpoint='api'
    )

Now the get method will need to accept post_id as a keyword argument:

class PostApi(Resource):
    def get(self, post_id=None):
        if post_id:
            return {"id": post_id}
        
        return {"hello": "world"}

The data to be sent to the client must be a representation of the Post objects in JSON, so how will our Post objects be translated? Flask Restful provides a way of translating any object to JSON through the fields object and the marshal_with function decorator.

Output ...

Get Mastering Flask now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.