PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Appel des services Web RESTful à partir de la procédure/fonction PostgreSQL

Oui, c'est possible, mais pas directement depuis Postgresql lui-même. Je ne connais pas Java mais le moyen le plus rapide est d'utiliser plperlu avec REST::Client package, par exemple :

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$