Convention for HTTP response header to notify clients of deprecated API

前端 未结 6 673
逝去的感伤
逝去的感伤 2020-12-23 16:00

I\'m upgrading our REST API endpoints and I want to notify clients when they are calling the to-be-deprecated endpoint.
What header should I use in the response with a m

6条回答
  •  无人及你
    2020-12-23 16:32

    I would not change anything in the status code to be backward compatible. I would add a "Warning" header in the response :

    Warning: 299 - "Deprecated API"
    

    You can also specify the "-" with the "Agent" that emits the warning, and be more explicit in the warn-text :

    Warning: 299 api.blazingFrog.com "Deprecated API: use betterapi.blazingFrog.com instead. Old API maintained until 2015-06-02"
    

    Warning header is specified here: https://tools.ietf.org/html/rfc7234#section-5.5. Warn-code 299 is generic, "Deprecated" is not standard.

    You have to tell your API clients to log the HTTP warnings and monitor it.

    I've never used it until now, but when my company will be more mature in Rest API I will integrate it.

    Edit (2019-04-25): As @Harry Wood mentioned it, the Warning header is in a chapter related to caching in the documentation. However, the RFC is clear Warnings can be used for other purposes, both cache-related and otherwise.

    If you prefer an alternate method, this draft https://tools.ietf.org/html/draft-dalal-deprecation-header-00 suggests a new header "Deprecation".

提交回复
热议问题