在 Tapestry 应用程序中接收和处理第三方帖子

Receiving and processing 3rd party Posts in Tapestry app

我的应用程序的目标是为比赛创建排行榜。要增加一个人的分数,你只需要在 hipchat 中写一些东西(我已经在 hipchat 中有一个监听器试图对我的 Tapestry 应用程序进行 post)。

我 运行 在接受和处理第三方 POST 到我的 Tapestry 应用程序方面遇到了很多麻烦。我能找到的所有文档都涉及内部请求。

在设置接收第 3 方 post、处理它并根据信息采取行动方面,有没有人有经验?任何帮助都会很棒!

Tapestry 的原生 POST 处理旨在处理 HTML 表单提交,并不适合机器发起的 REST 请求。因此,我会将其作为 REST 资源请求来处理,JAX-WS is meant for. I assume you mean Tapestry 5 and if so, it's pretty to get started with Tynamo's tapestry-resteasy module (for disclosure, I'm one of the maintainers). If you are new to JAX-WS, you may want to read an overview about it(link 用于 Jersey,参考实现,但无论实现如何,注释都以相同的方式工作)。原则上,您将实现一个 (POJO+annotations) 资源 class 和一个类似这样的操作:

@POST
@Produces({"application/json"})
public Response scorePoints(User user, long score)
{
    leaderboardService.add(user, score);
    return Response.ok().build();
}

在客户端,您只需传入用户 ID,Tapestry 的类型强制将处理其余部分(假设 User 是 Tapestry 的已知实体)。当然,你也可以在两边都使用原始数据类型。