2012-02-02 23 views
5

Ví dụ 1:bạn nên sử dụng hình thức số nhiều hoặc số ít các tên thư mục trong URL

http://www.example.com/image/logo.png 
http://www.example.com/images/logo.png 

Ví dụ 2:

http://www.example.com/user/johndoe 
http://www.example.com/users/johndoe 

Đặc biệt nếu bạn sử dụng Url như REST API. (Ví dụ 2)

Nên chọn loại nào và tại sao?

+0

Về mặt ngữ pháp, tôi thích số nhiều: Thư mục sẽ chứa * nhiều * của những thứ đó. Tôi không hiểu làm thế nào có thể có một lý do * kỹ thuật * để thích một hoặc các tùy chọn khác, tuy nhiên, vì vậy câu hỏi này có thể được yêu cầu tốt hơn trên một trang web như http://english.stackexchange.com/ hoặc http://ux.stackexchange.com/. –

+0

Một cách để suy nghĩ về nó là một thư mục không có khả năng chứa chỉ một hình ảnh duy nhất vì vậy nó có ý nghĩa rằng các thư mục nên được số nhiều. – abraham

+0

có thể trùng lặp của [RESTful POSTS, bạn có POST đối tượng vào số Uri số ít hoặc số nhiều không?] (Http://stackoverflow.com/questions/1690267/restful-posts-do-you-post-objects-to-the-singular -hoặc số nhiều-uri) – outis

Trả lời

3

Đối với REST, tôi chủ yếu sử dụng dạng số nhiều để biểu thị đường dẫn đến tài nguyên. Nhưng bạn cũng phải lấy Cacheablility, Frequency of Change và Mutability of the Resource. Trong trường hợp của tôi, bộ sưu tập tài nguyên chủ yếu là trường hợp, vì vậy tôi đã sử dụng dạng số nhiều.

Lý do cho điều này là ví dụ:

http://www.example.com/users/johndoe 

sẽ phục vụ các URI để GET johndoe sử dụng thuộc vào bộ sưu tập của bạn của người sử dụng.

http://www.example.com/users 

sẽ được sử dụng như URI để GET tất cả người dùng và có thể dễ dàng được sử dụng trên url truy vấn như:

http://www.example.com/users?limit=5 

tạo một người dùng mới vẫn sẽ sử dụng cùng một URL sau đó sử dụng POST & qua các thông số:

http://www.example.com/users 

cho refs bạn có thể muốn kiểm tra các cuốn sách Oreilly RESTful Web Services Cookbook

1

Sở thích cá nhân của tôi sẽ sử dụng url khác nhau cho một và nhiều tài nguyên.

http://www.example.com/users nói rằng tôi muốn tất cả các mục đích sử dụng. Bạn có thể nối thêm các tham số truy vấn để lọc kết quả.

Trên contrarily http://www.example.com/user/johndoe - tuyên bố rõ ràng rằng tôi muốn một người dùng có id là johndoe.

Ưu điểm: 1. Không thể đặt kỳ vọng chính xác. 2./người dùng không có kết quả có thể trả lại 201 thay vì 404 3./người dùng/có thể trả lại 401 là tình trạng lỗi.

Các vấn đề liên quan