Tôi đang thiết kế API dựa trên HTTP cho ứng dụng mạng nội bộ. Tôi nhận ra đó là một mối quan tâm khá nhỏ trong sơ đồ lớn của mọi thứ, nhưng: tôi có nên sử dụng dấu gạch nối, dấu gạch dưới hoặc camelCase để phân định các từ trong URI không?
Đây là những suy nghĩ ban đầu của tôi:
lạc đà
- vấn đề có thể xảy ra nếu máy chủ không phân biệt chữ hoa chữ thường
- dường như được sử dụng khá rộng rãi trong các khóa chuỗi truy vấn ( http://api.example.com ? searchQuery = ...), nhưng không phải trong các phần URI khác
Dấu gạch nối
- thẩm mỹ hơn so với các lựa chọn thay thế khác
- dường như được sử dụng rộng rãi trong phần đường dẫn của URI
- không bao giờ thấy khóa chuỗi truy vấn gạch nối trong tự nhiên
- có thể tốt hơn cho SEO (điều này có thể là một huyền thoại)
Gạch dưới
- có khả năng dễ dàng hơn để xử lý các ngôn ngữ lập trình
- một số API phổ biến (Facebook, Netflix, StackExchange, v.v.) đang sử dụng dấu gạch dưới trong tất cả các phần của URI.
Tôi đang nghiêng về phía dưới cho tất cả mọi thứ. Thực tế là hầu hết những người chơi lớn đang sử dụng chúng đều hấp dẫn (xem https://stackoverflow.com/a/608458/360570 ).
hyphenated query string in the wild
. Đó thường là thời gian cho camelCase.