Ich habe RESTful Web Services bereitgestellt, um Daten in eine entfernte Datenbank einer anderen Anwendung zu übertragen. Ich muss diese Dienste aufrufen, um Daten von PostgreSQL DB zu senden, indem ich Daten im JSON Format als GET/POST Parameter an den Web Service sende. Ist es möglich, diese Web Services von den PostgreSQL - Funktionen (periodisch) aufzurufen, die überhaupt Daten in meine Datenbank pushen, oder JAVA - Code zu schreiben, um diese Web - Services aufzurufen, die Abfragen in der PostgreSQL - Datenbank ausführen und Web - Services aufrufen entfernte DB.Aufruf von RESTful Web Services von PostgreSQL procedure/function
Antwort
Ja, es ist möglich, obwohl nicht direkt von Postgresql selbst. Ich weiß nicht, über Java, aber der schnellste Weg ist plperlu
mit REST::Client
Paket zu verwenden, zB:
CREATE OR REPLACE FUNCTION restful.put(auri character varying, ajson_text text)
RETURNS text
LANGUAGE plperlu
SECURITY DEFINER
AS $function$
use REST::Client;
use Encode qw(encode);
my $client = REST::Client->new();
$client->getUseragent()->proxy('https', 'http://some-proxy/'); # use for proxy authentication
$client->addHeader('Content-Type', 'application/json'); # headers
$client->POST($_[0], encode('UTF-8', $_[1])); # encoding
return $client->responseContent();
$function$
Lösung 1: Mit jOOQ
Zuerst erzeugen Klassen von XML-Datei die entsprechen postgresql Datenbankstruktur.
Dann können Sie sie in Ihrem Code, zum Beispiel in Ihrer Java-Anwendung verwenden:
try (DatabaseContext dbCtx=new DatabaseContext())
{
DSLContext ctx=dbCtx.getContext();
ctx.insertInto(TABLE)
.set(TABLE.ID, values.getId())
.set(TABLE.DATA, values.getData().toString())
.execute();
}
Lösung 2: Hibernate
Sie erste Setup-XML und Java-Dateien überwintern für die Abbildung Ihrer Datenbank ähnlich der JOOQ-Lösung.
Dann erneut Verbindung zur Datenbank und Push-Daten.
Configuration cfg=new Configuration();
cfg.configure("your_database_configuration_file.cfg.xml");
SessionFactory factory=cfg.buildSessionFactory();
Session session=factory.openSession();
Transaction t=session.beginTransaction();
TranstateData e1=new TranstateData();
e1.setId(idR);
e1.setData(dataR);
session.persist(e1);
t.commit();
session.close();
Diese Lösungen sind besser als SQL Schreiben in die Datenbank direkt zu verbinden, weil Sie nur von Zeit zu Zeit aktualisiert werden können (z. B. eine Aufgabe schreiben, das tut), wenn die Tabellen geändert werden (was bedeutet, Sie müssen nicht Um die Konfigurationen zweimal zu schreiben, generiert der Code automatisch die Änderungen. Sie finden Fehler auch schneller, weil Sie die Klassen und Variablen sehen. Nicht zu vergessen, sie sind nicht die einzigen Möglichkeiten, um mit JOOQ und Hibernate herumzuspielen ... auch andere Möglichkeiten sind verfügbar. Das Internet ist voll von anderen Beispielen. MyBatis ist auch eine Lösung (Lösung 3). Alle genannten werden für PostgreSQL unterstützt.
- 1. Web-Verzeichnis von RESTful Web Services?
- 2. Tool zum Testen von RESTful Web Services
- 3. 4 Arten von RESTful Web Services
- 4. Restful vs Andere Web Services
- 5. Was sind RESTful Web Services?
- 6. Aufruf abhängig Web Services
- 7. POST-Canvas-Image von JavaScript zu RESTful Web Services
- 8. Rails 3 RESTful Web-Services mit JSON
- 9. Entwerfen RESTful Web-Services mit XMPP-Servern
- 10. Vorschläge auf RESTful Java Web Services Framework ...
- 11. OpenESB/NetBeans RESTful Web Services mit JavaScript-Client
- 12. Best Practice zum Erstellen von Web-Services
- 13. Wie zu verbrauchen Restful Web Services im Frühjahr Ruhe
- 14. Homegrown Verbrauch von Web-Services
- 15. JAX-RS - Authentifizierung und Benutzerdaten in RESTful Web-Services
- 16. ASP.NET RESTful Web Service
- 17. Restful Web-Service - Hinzufügen von Liste von Pojos
- 18. java restful services als jar abhängigkeit von einem krieg
- 19. Wie CSRF-Schutz mit Spring RESTful Web Services behandelt werden?
- 20. Wie erstellt man dynamisch akzeptable JSON in RESTful Web Services?
- 21. Aufruf Restful API-Funktion von AngularJs
- 22. Integrieren von XMLRPC/Web Services mit Stammdaten
- 23. RESTful Web Service ruft nicht von URL
- 24. Fehler 401 beim Aufruf der Sitefinity WCF Web Services
- 25. Web API vs. RESTful Dienste
- 26. Unit Test Jersey Restful Services
- 27. Verschlüsseln und Entschlüsseln XML gesendet und empfangen von RESTful WCF Web Services
- 28. Problem beim Ausführen von Spring Restful Web Services ohne Spring Boot
- 29. Wie kann ich einen Ordner mit RESTful Web Services SDK von Business Objects hinzufügen?
- 30. Verwenden von gemeinsam genutzten Warteschlangen mit Python-Kolben Restful Web-Services