0

我是 CXF 的新手,因此如果我的问题太愚蠢,请原谅我。

我打算使用接受自定义 JAVA 对象的 Grails 开发 REST 服务。因此我打算使用grails-cxf插件。

在我的控制器中,我需要一个接受 Java 对象并返回 Java 对象的方法 (POST)

def UserDetails getUserDetails(User user)
{
   // Logic

   return new UserDetails();
}

我在插件的文档中没有看到任何好的例子。我对使用这个插件不是很讲究。如果你能提出任何用 grails 实现它的方法,我觉得很好。

请帮忙。我们可以使用 grails-cxf 插件开发 REST API 吗?

4

2 回答 2

0

您必须定义config.groovycxf 插件在哪里寻找服务。

前例:

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

所以插件会在 Service 文件夹中查找一些 WebService,但您需要将 Service 定义为 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 并在方法中获取用户。

高温高压

于 2015-09-15T06:01:56.710 回答
0

我不需要 cxf 插件来实现接受 Java 对象作为参数的 Rest Service。

命令对象服务于我的目的

于 2015-09-16T10:43:56.950 回答