2013-05-29 43 views
7

Tôi muốn nghe những trải nghiệm từ bạn? Làm thế nào tôi có thể tạo ra một API tốt nhất để lấy dữ liệu từ một cơ sở dữ liệu. Nếu bạn gửi tên xem hoặc tên thủ tục, do đó, điều này sẽ không hoàn toàn tốt với tankne về an toàn. Vì vậy, tôi tự hỏi nếu có ai có kinh nghiệm hoặc ý tưởng về điều này?API để truy xuất/gửi dữ liệu từ/đến cơ sở dữ liệu

Tôi có nên có một trường cho biết những gì người dùng kết nối API có quyền truy cập không? Truy cập bảng và hàng.

+0

kiểm tra kiến ​​trúc SAAS. – Sebas

+0

ngôn ngữ nào? –

+2

Bạn có thể chi tiêu tất cả danh tiếng của bạn trên tiền thưởng nhưng không ai có thể trả lời bạn, trừ khi bạn làm rõ những gì bạn đang yêu cầu. "Tạo API để truy xuất dữ liệu từ db" nghe như phát minh lại bánh xe hoặc tôi không hiểu. Mô tả những gì bạn đang cố gắng làm. – TMS

Trả lời

3

Tôi sẽ chụp.

Bạn đã đề cập đến API Web, vì vậy tôi sẽ giả định bạn đang sử dụng API đó có nghĩa là bạn có API REST ở trên cùng của cơ sở dữ liệu.

Những điều cần làm:

  1. Hãy đến với mô hình dữ liệu bạn muốn để lộ cho người sử dụng. Điều này có thể sẽ khác nhau theo nhiều cách khác nhau từ mô hình cơ sở dữ liệu của bạn. Nếu bạn là cửa hàng, bạn có thể có 2-3 bảng khác nhau để lưu trữ sản phẩm, nhưng bạn sẽ muốn hiển thị "sản phẩm" với một lệnh gọi API.

  2. Khi bạn có mô hình dữ liệu hướng đến người dùng, hãy bắt đầu viết các bài kiểm tra. Bạn cần kiểm tra đơn vị cho bộ điều khiển API Web của bạn và bạn cần tìm cách để giả lập các cuộc gọi cơ sở dữ liệu bạn đang thực hiện. Kiểm tra là cũng có giá trị nỗ lực!

  3. Để bảo mật, bạn có nhiều tùy chọn. Bạn có thể chọn từ những thứ như HMAC (https://en.wikipedia.org/wiki/Hash-based_message_authentication_code) hoặc OAuth (Best way to create a TOKEN system to authenticate web service calls?) hoặc thậm chí JWT (Secure WebAPI with a JWT).

  4. Khi bạn đã xác thực người dùng, bạn có thể gán cho họ các đặc quyền. Họ có thể đọc, viết và cập nhật tùy thuộc vào những gì họ có quyền truy cập. Bạn có thể có một bảng cơ sở dữ liệu để kiểm soát khả năng này.

  5. Tôi khuyên bạn nên suy nghĩ về phiên bản trước thời hạn. Đề xuất của tôi là luôn có hai phiên bản API - hiện tại và trước đó. Bạn triển khai API và khi bạn thay thế API lần đầu tiên bạn hỗ trợ API không dùng nữa và API mới. Đừng cố gắng hỗ trợ nhiều hơn hai phiên bản.

  6. Làm hết sức mình để viết một số loại giao diện tóm tắt cơ sở dữ liệu trước khi gửi dữ liệu qua API Web. Điều này giúp bạn trao đổi hoàn toàn cơ sở dữ liệu trong tương lai nếu bạn cần. Nó cũng giúp kiểm tra đơn vị.

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