/ / Empfangen und Verarbeiten von Drittanbieter-Posts in Tapestry-App - Java, Post, Anfrage, Gobelin, Hipchat

Empfangen und Verarbeiten von 3rd Party Posts in Tapestry App - Java, Post, Anfrage, Tapisserie, Hipchat

Das Ziel meiner App ist das Erstellen einer Bestenliste fürein Wettbewerb. Um zu seiner Punktzahl hinzuzufügen, müssen Sie nur etwas in hipchat schreiben (ich habe bereits einen Zuhörer in hipchat, der versucht, einen Beitrag in meine Tapestry-App zu schreiben).

Ich habe viel Ärger mit der Annahme und Bearbeitung eines POST von Drittanbietern für meine Tapestry-App. Alle Unterlagen, die ich finden kann, beziehen sich auf interne Anfragen.

Hat jemand Erfahrung mit der Einrichtung einer Möglichkeit, einen Post von Drittanbietern zu erhalten, damit umzugehen und mit den Informationen Maßnahmen zu ergreifen? Jede Hilfe wäre toll!

Antworten:

0 für die Antwort № 1

Die systemeigene POST-Verarbeitung von Tapestry ist für die Verarbeitung von HTML-Formularsendungen gedacht und eignet sich nicht für maschineninitiierte REST-Anforderungen. Daher würde ich es als REST-Ressourcenanforderung behandeln JAX-WS ist für gemeint. Ich nehme an, du meinst Tapestry 5 und wenn ja, ist es schön, damit anzufangen Tynamos Tapisserie-Resteasy-Modul (Zur Offenlegung bin ich einer der Betreuer.) Wenn Sie JAX-WS noch nicht kennen, möchten Sie dies vielleicht Lesen Sie eine Übersicht darüber (Der Link bezieht sich auf Jersey, die Referenz.)Implementierung, aber die Anmerkungen funktionieren unabhängig von der Implementierung auf dieselbe Weise). Im Prinzip implementieren Sie eine Ressourcenklasse (POJO + -Anmerkungen) und eine Operation mit der folgenden Formel:

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

Auf der Clientseite übergeben Sie einfach den BenutzerID und Tapestry's Typ Zwang würde den Rest erledigen (vorausgesetzt, der Benutzer ist eine bekannte Entität von Tapestry). Natürlich könnten Sie auch primitive Datentypen auf beiden Seiten verwenden.