簡體   English   中英

如何為導出端點設計REST API?

[英]How to design REST API for export endpoint?

我正在設計REST API並遇到設計問題。 我有alerts ,我希望用戶能夠export到少數文件格式之一。 所以我們已經開始使用export操作/命令,感覺就像RPC而不是REST。

而且,我不想假設默認的文件格式。 相反,我想要求它提供。 我不知道如何設計API來做到這一點,如果沒有提供所需的參數,我也不知道要返回什么響應代碼。

所以這是我的第一次破解:

POST /api/alerts/export?format=csv

要么

POST /api/alerts/export/csv

這個端點是否按照您的方式設置? 它是否以正確的方式設置以要求文件格式? 如果未提供所需的文件格式,返回的正確狀態代碼是什么?

謝謝。

實際上,您應該考慮使用HTTP內容協商(或CONNEG)來執行此操作。 這利用了Accept標頭(請參閱HTTP規范: http//www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.1 ),該標頭指定響應的預期媒體類型。

例如,對於CSV,您可以使用類似的東西:

GET /api/alerts
Accept: text/csv

如果要指定其他提示(文件名,...),服務器可以返回Content-Disposition標頭(請參閱HTTP規范: http//www.w3.org/Protocols/rfc2616/rfc2616-sec19.html #sec19.5.1 )在響應中,如下所述:

GET /api/alerts
Accept: text/csv

HTTP/1.1 200 OK
Content-Disposition: attachment; filename="alerts.csv" 

(...)

希望它對你有幫助,蒂埃里

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM