REST status code 204 on paginated result

前端 未结 4 800
灰色年华
灰色年华 2021-01-19 05:28

I am designing a REST like API for paginated data retrieval of a YUI-based client. The REST URL looks like this for a GET request:

/app/catalog/data?startInd         


        
4条回答
  •  我在风中等你
    2021-01-19 06:08

    HTTP 204 in pagination response is not factible because of the payload. When paginating you should return pagination information like, items returned, total items, offset, etc. which is not allowed with HTTP 204.

    I would use one of:

    • HTTP 200 with count=0 and no items in the returned list.
    • HTTP 400 because invoker asked for an url that is invalid
    • HTTP 404 because items to return are not found

    Choose the one that best suits the way your API works. I think it's safe to return an error (4xx + error info) in this situation because the offset can be exceeded by one of these assumptions:

    • A coding error
    • Invoker is not fetching data from begining (no fresh state)
    • Invoker ignored pagination data (present on each response)

提交回复
热议问题