RESTLet 2.0.9 - запрос, касающийся нескольких аннотаций @Get и @Post? - PullRequest
0 голосов
/ 29 сентября 2011

Я новичок в RESTLet и использую 2.0.9.Я хочу иметь несколько методов с аннотацией @Get & @POST.У меня есть доступ к классам VO (объектам значений), и поэтому мне не нужно использовать представление JSON или XML.Я использовал превосходное учебное пособие, доступное по http://wiki.restlet.org/docs_2.0/13-restlet/21-restlet/318-restlet/303-restlet.html#dsy303-restlet_jse.. Я разработал следующие классы:

Пользователь - VO POJO с атрибутами для пользователя.Интерфейс UserResource:

public interface UserResource 
{ 
    @Get 
    public User userLogin();    
 }

Для одиночной аннотации @Get клиентский код работает нормально.

     ClientResource cr = new ClientResource(url); 
     // Get the Contact object 
     UserResource resource = cr.wrap(UserResource.class); 
     User user = resource.userLogin();*

Теперь я хочу использовать несколько методов с аннотацией @Get.Например, иметь два / три вида объектов getUser, аналогичных тем, которые мы имеем в обычном слое DAO в одной JVM.

User getUser(int userId) 
User getUser(String domain, String username) 
boolean isUserNew(int userid)* 

и аналогичные несколько методов для обновления и добавления пользователей [@POST аннотация]:

int addUser(User user) 
int updateUser(int userId, User user)

Возможно ли достичь чего-то подобного?Если нет, каковы альтернативы?Где я могу получить документацию для аннотаций @Get, @Post?

1 Ответ

1 голос
/ 29 сентября 2011

Я думаю, что для этого нужно:

  • UsersResource с аннотированным методом @Get, который воздействует на пользователя по его уникальному идентификатору;
  • UsersDomainUsernameResource (аналогичная логика выборки ...) * Методы 1009 *

@Get будут обрабатывать различные случаи:

, например:

  • myserverside.com / users / 100
  • myserverside.com / users / domain / username

, что касается вашего примера boolean isUserNew(int userid), это не операция REST.Имейте в виду, что REST означает только основные операции CRUD.Я думаю, что вам просто нужно получить представление пользователя, а затем выполнить любую проверку, которая вам нужна (isNew ... isBlonde ...)

...