Đối với API REST mà tôi đang làm việc, tôi muốn trả về JSON theo bố cục nhất quán:
{
"Data" : {
"Id" : 123,
"Email" : "charlie@somewhere.com"
"Firstname" : "Charlie",
"Surname" : "Brown",
},
"Error" : null
}
Tải trọng sẽ luôn chứa "Dữ liệu" và "Lỗi", trong đó một hoặc khác có thể là null.
Câu hỏi của tôi liên quan đến "Dữ liệu" và các điểm cuối chỉ thực sự trả về một đối tượng. Ví dụ: giả sử tôi có API users/current
, trả về người dùng hiện được xác thực. Tôi đã trả lại người dùng đó như được hiển thị ở trên; một đối tượng JSON có tên là "Dữ liệu".
Đối với các điểm cuối có thể trả về 0, một hoặc nhiều đối tượng, thì tất nhiên tôi sẽ biến "Dữ liệu" thành một mảng:
{
"Data" : [
{
(first object)
},
{
(second object)
}
],
"Error" : null
}
Tôi đã nghe một quan điểm rằng, để thống nhất, "Dữ liệu" phải luôn là một mảng. Ngay cả khi một điểm cuối sẽ chỉ trả về một đối tượng duy nhất (hoặc null).
Người khác nghĩ gì? Tôi nghĩ rằng không cần phải tạo "Dữ liệu" và mảng nếu không bao giờ có nhiều hơn một đối tượng được trả về.