2015-09-14 4 views
0

Я новичок в CXF и поэтому любезно пощажу меня, если мой вопрос слишком тупой.Grails CXF Pluggin

Я намерен разработать услугу REST с использованием Grails, которая принимает пользовательский объект JAVA. Поэтому я намерен использовать плагин grails-cxf.

В мой контроллер, мне нужен метод (POST), который принимает объект Java и возвращает Java Object

def UserDetails getUserDetails(User user) 
{ 
    // Logic 

    return new UserDetails(); 
} 

Я не вижу хороший пример в документации подключаемого модуля. Я не очень люблю использовать этот плагин. Если вы можете предложить любой способ достичь этого с помощью грааля, то это будет хорошо со мной.

Пожалуйста, помогите. Можем ли мы использовать grails-cxf pluggin для разработки API REST?

+0

Прежде всего, все определение функции UserDetails getUserDetails (пользователь User) 'должен быть' UserDetails getUserDetails (пользователь User) 'или' Защиту getUserDetails (пользователь User) ' – YAT

+0

Я согласен, но вышеупомянутый метод был просто образцом для объяснения того, чего я пытаюсь достичь. В принципе метод Rest для принятия Java-объектов в качестве аргументов –

ответ

0

Вы должны определить в config.groovy, где плагин cxf ищет Сервис.

Фор Пример:

cxf { 
    servlet { 
    loadOnStartup = 10 
    } 
    servlets = [ 
     CxfServlet: '/services/*' 
    ] 
    endpoint { 
    soap12Binding = false 
    } 
} 

Так плагин ищет в папке Service для некоторых WebServices, но вам необходимо определить службу как WebService. Для примера Служба может быть выглядит следующим образом:

class UserDetailsService { 
    static expose = EndpointType.JAX_RS 

    @WebResult(name = 'getUserDetails') 
    @WebMethod 
    UserDetails getUserDetails(@WebParam(name = 'user')User user) 
    { 
     // Logic 

     return new UserDetails(); 
    } 
} 

Я не уверен, если он работает с объектом пользователя, я никогда не делал этого с объектом Java. Если это не сработает, вы можете использовать UserId и получить пользователя внутри метода.

НТН

+0

Так что вы можете ответить. Позвольте мне попытаться обновить вас. Можно ли вызвать API-интерфейс getUserDetails REST через любой клиент REST? –

+0

не могли бы вы помочь и рассказать мне, какой будет URL REST для вышеуказанного getUserDetails api? –

0

Я не нуждался в CXF pluggin для достижения Rest Service принятия объектов Java, как заданы параметры.

Command Object служил своей цели

Смежные вопросы