Параметры REST: объект против собственных типов данных - PullRequest
2 голосов
/ 26 апреля 2011

При проектировании службы REST WCF с использованием JSON в качестве формата обмена сообщениями лучше всего передавать сериализованные объекты JSON в службу WCF или JSON, содержащие пары значений параметров?

Другими словами, какая сигнатура метода будетbe best:

public void CreateUser(User user);

или

public void CreateUser(string userName, string firstName, string lastName, string email, string password);

Объект User будет содержать свойства для UserName, FirstName, LastName, Email и Password.

Мне кажется,что потребителю будет проще использовать более позднюю подпись, потому что она снимает вопрос о том, что объект User действительно должен содержать.

Верны ли мои мысли?

1 Ответ

1 голос
/ 26 апреля 2011

На самом деле - я ожидал бы, что API-интерфейс REST создаст пользователя, похожего на HTTP POST, например,

http://myhostname/users/

, где тело запроса содержит поля, необходимые для создания нового объекта User,

Затем веб-служба создаст объект, сохранит его и вернет URI для объекта, чтобы позднее его можно было извлечь.Например, здесь может возвращаться

http://myhostname/users/DanWaterbly

Потребителю гораздо проще использовать такой подход, поскольку правильно написанный десериализатор будет терпимым к дополнительным или отсутствующим элементам в объекте User.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...