2008-08-29 5 views
22

Tôi sẽ xây dựng API cho ứng dụng web và tôi quan tâm đến những gì mọi người có thể đề xuất làm thực tiễn tốt. Tôi đã có kế hoạch làm cho nó được phiên bản (phiên bản 1 chỉ có thể kiểm soát các khía cạnh nhất định của hệ thống, phiên bản 2 có thể kiểm soát nhiều hơn, nhưng điều này có thể cần thay đổi cách thực hiện xác thực không tương thích với phiên bản 1.) và xác thực sẽ khác với tên người dùng/mật khẩu chuẩn mà mọi người sử dụng để đăng nhập (nếu ai đó sử dụng một công cụ độc hại, nó sẽ không mở chúng ra để mạo danh hoàn toàn, bất kể api cho phép).Tôi nên tạo một API (web) tốt như thế nào

Có ai có thêm ý tưởng hay ví dụ về trang web có API đặc biệt tốt mà bạn đã sử dụng không?

Trả lời

11

Đọc sách RESTful Web Services, cung cấp cho bạn tổng quan tốt về cách sử dụng REST trong thực tế và tăng tốc độ đủ nhanh để bắt đầu ngay bây giờ, với sự tự tin. Điều này hữu ích hơn là chỉ nhìn vào một API hiện có, bởi vì nó cũng thảo luận về các lựa chọn thiết kế và sự cân bằng.

6

Sử dụng REST.

Kiến trúc dịch vụ web RESTful rất dễ triển khai và sử dụng các điểm mạnh và ngữ nghĩa của HTTP cho những gì chúng được dự định. Đó là định hướng tài nguyên, giống như chính trang web.

Amazon Web Services, Google và nhiều người khác cung cấp API REST để tương tác với sản phẩm của họ.

7

tôi sẽ có một cái nhìn tại các API đã được chứng minh:

  1. YouTube API
  2. Twitter API

Có rất nhiều tranh luận về việc liệu các API này là "tốt" nhưng tôi nghĩ rằng thành công của họ được thể hiện và tất cả đều dễ sử dụng.

3

Sử dụng REST.

Đọc các tiêu chuẩn cho API hoặc sao chép ý tưởng từ một trong những ứng dụng phổ biến.

Hãy cẩn thận khi xác thực người dùng.

Bắt đầu rất đơn giản.

Tạo trang web sử dụng API của bạn (ngay cả khi nó không hữu ích) để kiểm tra mọi thứ hoạt động. Có lẽ bạn có thể xây dựng một phiên bản di động của trang web hoặc điều gì đó buộc bạn phải sử dụng API ở rất nhiều chiều sâu.

8

1) Nướng số phiên bản trực tiếp vào URL thay vì chuyển nó thành tham số, vì điều này cho phép bạn hoàn toàn tự do thay đổi tổ chức không gian tên API của bạn với từng phiên bản.

2) Giữ các quy tắc viết lại URL của bạn (nếu có) đơn giản/gọn gàng nhất có thể (nhưng không đơn giản hơn), trong khi làm cho URL của bạn càng đẹp càng tốt (nhưng không có).

3) Luôn tìm kiếm mã trạng thái HTTP tốt nhất bạn có thể tìm cho mỗi câu trả lời (và đừng quên khoảng 202 và 207, ví dụ).

4) Thực hiện logic xác thực thông số phát sinh và thông báo lỗi thông tin.

5) Sử dụng tiêu đề yêu cầu HTTP nếu thích hợp thay vì tham số (như Chấp nhận, ví dụ, để cho phép khách hàng chỉ định định dạng dữ liệu mong muốn của phản hồi).

6) Tổ chức "danh từ" theo cách URL được sử dụng bởi đối tượng khách hàng khác nhau được tách riêng gần "gốc" của cây URL của bạn (điều này giúp dễ dàng thực thi các cơ chế xác thực khác nhau cho những đối tượng khác nhau này nếu cần hoặc thậm chí ánh xạ các phần khác nhau của cây URL của bạn đến các máy chủ khác nhau).

7) Nếu bạn đang phân phối các trang web thông thường ngoài cùng miền với API và sử dụng cùng thông tin xác thực, yêu cầu tiêu đề X-Requested-With trong yêu cầu API của bạn để tránh lỗ hổng XSRF.