Thực hành tốt nhất:
Đây có thể là tốt hơn để giữ cho các phiên bản ra khỏi URL và để làm nguồn năng lượng mới tương thích ngược với cái cũ.
Tương thích ngược:
Nếu bạn phải giữ v1 trong URL, và đang làm cho URL v2, sau đó bạn phải quyết định xem bạn muốn hỗ trợ cả hai định dạng, hoặc làm cho người già v1 lỗi thời. Nếu bạn quyết định làm cũ v1 lỗi thời thì tôi khuyên bạn nên trả lại 303 hoặc 401 cho bất kỳ ai yêu cầu URL v1.
Làm URL cũ lỗi thời:
tôi sẽ khuyên bạn sử dụng 303 Xem khác. Hoặc nếu không có chuyển hướng liên quan, sau đó sử dụng 410 Gone.
Source
303 Xem Khác
Việc đối phó với yêu cầu có thể được tìm thấy dưới một URI khác nhau và NÊN được lấy ra bằng cách sử dụng phương thức GET trên tài nguyên đó. Phương pháp này tồn tại chủ yếu để cho phép đầu ra của tập lệnh kích hoạt POST để chuyển hướng tác nhân người dùng đến tài nguyên đã chọn. URI mới không phải là tài liệu tham khảo thay thế cho tài nguyên được yêu cầu ban đầu. Phản hồi 303 PHẢI KHÔNG được lưu trong bộ nhớ cache, nhưng phản hồi yêu cầu (chuyển hướng) thứ hai có thể là có thể lưu vào bộ nhớ cache.
URI khác nhau NÊN được cung cấp bởi trường Vị trí trong phản hồi. Trừ khi phương thức yêu cầu là HEAD, đối tượng của câu trả lời NÊN chứa ghi chú siêu văn bản ngắn với liên kết tới URI mới.
Lưu ý: Nhiều tiền HTTP/1.1 tác nhân người dùng không hiểu trạng thái 303 . Khi khả năng tương tác với khách hàng như là một mối quan tâm, mã 302 tình trạng có thể được sử dụng thay vào đó, vì hầu hết các đại lý người dùng phản ứng đến một phản ứng 302 như đã mô tả ở đây cho 303.
tài liệu tất cả mọi thứ:
Điều chính cần quan tâm là bất cứ điều gì bạn chọn để trả lại, chỉ cần ghi lại nó trong tài liệu của bạn. Bạn có thể quyết định cách bạn muốn dịch vụ của mình hoạt động, những người khác muốn sử dụng dịch vụ đó sẽ tuân theo tài liệu.
Nguồn
2008-11-10 18:15:12
Đối với những gì nó có giá trị, tôi thấy bài Darrel của (trong một câu hỏi riêng biệt) để được khai sáng: http://stackoverflow.com/questions/972226/how-to-version-rest-uris/975394 # 975394 – Gili
Bản sao có thể có của [Các phương pháp hay nhất cho phiên bản API?] (https://stackoverflow.com/questions/389169/best-practices-for-api -versioning) – Helen