O'Reilly logo

Mastering Flask by Jack Stouffer

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

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 ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required