DELETE requests
Finally, we have the DELETE request, which is the simplest of the four supported methods. The main difference with the delete method is that it returns no content, which is the accepted standard with DELETE requests:
class PostApi(Resource):
@marshal_with(post_fields)
def get(self, post_id=None):
…
def post(self, post_id=None):
…
def put(self, post_id=None):
…
def delete(self, post_id=None):
if not post_id:
abort(400)
post = Post.query.get(post_id)
if not post:
abort(404)
args = post_delete_parser.parse_args(strict=True)
user = verify_auth_token(args['token'])
if user != post.user:
abort(403)
db.session.delete(post)
db.session.commit()
return "", 204Again, we can test with:
$ curl -X DELETE\ -d "token=<the token>"\ http://localhost:5000/api/post/102
If everything is successfully deleted, you should receive a 204...