2016-11-21 2 views
0

Ich habe eine einfache Java-Anwendung (keine Webanwendung) und maven benutze ich über eine Jar-Datei. Ich muss einige seiner öffentlichen Methoden über HTTP (ähnlich zu Rest-APIs) verfügbar machen, damit andere Anwendungen sie durch Restanrufe wiederverwenden können. Bei einigen Recherchen sehe ich zum Beispiel, Jersey ist eine Option, aber scheint nur für Java-Web-Anwendungen verfügbar zu sein. Ich bin auch auf HTTPComponents + HTTPClient gestoßen, aber der Code ist viel komplizierter als Jersey.Einfache Java-Anwendungsmethoden über HTTP-Aufrufe anzeigen (keine Webanwendung)

Meine Frage ist, ob es eine einfache Lösung für Java-Anwendungen gibt, öffentliche Methoden über HTTP verfügbar zu machen.

Danke, Sara

+5

Sobald Sie HTTP-Endpunkte haben, befinden Sie sich fest im Bereich der Web-Anwendungen. Ich würde mich nicht auf diese Semantik festlegen. Jersey ist eine großartige Bibliothek für Ruhe Sachen in Java. – DejaVuSansMono

+0

Vielen Dank für Ihre Antwort @DejaVuSansMono. Was ich meinte, ist, dass ich web.xml nicht habe. Auch möchte ich die Anwendung immer noch strikt als ein Glas offen legen. Die Art und Weise, wie ich diese Benutzer auf diese Rest-URLs zugreifen muss, besteht darin, mein Jar zu ihrer Anwendung hinzuzufügen und dann Ruheaufrufe zu machen, um die APIs zu verwenden, die ich veröffentlichen werde. Ich weiß, dass dies über HTTP-Komponenten möglich ist. Ich finde es umständlich und suche nach einer besseren Lösung. – Sara

+3

Was meinst du mit "wie ein Glas"? Wenn Sie davon sprechen, dass sie das jar in ihre eigenen Programme einschließen, dann ist es einfacher und effizienter, nur direkte Java-Aufrufe durchzuführen. Wenn Sie von einem lauffähigen JAR-Programm sprechen, das ein eigenes Programm ist, wird Spring Boot alles, was Sie benötigen, einschließlich eines eingebetteten Web-Servers, in einem einzigen Jar für Sie zusammenpacken. – chrylis

Antwort

0

Beachten Sie bitte die Kommentare für die Antwort. Mehrere Webtechnologien wurden vorgeschlagen und es scheint, als müsste ich das Projekt in eine webbasierte Anwendung konvertieren, wenn wir als Rest-APIs verteilen möchten und ansonsten, wenn der Benutzer zustimmt, nur die Jar- und Java-APIs verwenden. Vielen Dank.

Verwandte Themen