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 Flask: Building Python Web Services now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.