RESTful - определение URI торговой сделки - PullRequest
1 голос
/ 22 февраля 2011

Я бы разработал несколько служб Restful в своем приложении, например (URI):

xxx/method/blah
yyy/method/bleh
zzz/method

все эти ресурсы (xxx, yyy, zzz) являются специфическими продуктами в моем бизнесе, и теперь мне нужно разработать определение продажи для них. Я думаю в:

xxx/sell
yyy/sell
zzz/sell

Но мне кажется, что это не связно, потому что я считаю, что поведение на продажу должно быть уникальным и специфическим ресурсом, например:

transaction/sell/xxx
transaction/sell/yyy
transaction/sell/zzz

Что (должно быть) здесь для вас?

Спасибо.

Ответы [ 2 ]

1 голос
/ 22 февраля 2011

Чтобы быть RESTful, вы хотите, чтобы глагол (например, "продавать") был методом HTTP.URI должен идентифицировать ресурс, а не действие, которое должно быть выполнено над ресурсом.

0 голосов
/ 22 февраля 2011

Я думаю, что вы пытаетесь выбрать между функционально-ориентированным дизайном (где функция, продажа, находится в центре, и он выполняет действия над различными объектами, продуктами) и объектно-ориентированным дизайном (где объект, продукт, являетсяв центре, и у каждого объекта есть метод, например, продать).Здесь нет «правильного» и «неправильного» ответа - это действительно зависит от вашей языковой парадигмы.Итак, я думаю, вам следует подтвердить языком, на котором вы реализуете сервис: если это OO (объектно-ориентированный) язык (и, скорее всего, вы используете язык OO), вы должны использовать подход OO.В Java + RESTEasy (например) подход к реализации вполне очевиден:

@Path("product")
public class Product {
    // Product fields
    // ...

    @Path("sell")
    @GET
    public void sell(){
        // Selling implementation
        // ...
    }
}

Платформа RESTEasy переведет запрос http: //.../product/sell ввызов метода sell () для экземпляра объекта продукта.

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