Necesito crear una aplicación del lado del servidor (servicio web pequeño) para proponer pruebas. ¿Cuáles son algunos de los módulos CPAN y las bibliotecas de Perl para implementar dicha tarea?Creación de un servicio web con Perl
5
A
Respuesta
4
Hay muchas posibilidades
CGI
- si te gusta hacer de todo como en los viejos tiemposCGI::Application
- un poco más avanzado
o usted podría utilizar marcos como
Catalyst
Dancer
Mojolicious
que depende de sus habilidades y su objetivo es lo que la solución que debe elegir.
2
Me gusta usar mojolicious. Es liviano al principio y también puede hacer el trabajo pesado más tarde. Mojolicious::Lite en particular es bueno para rápido y sucio.
use Mojolicious::Lite;
# Route with placeholder
get '/:foo' => sub {
my $self = shift;
my $foo = $self->param('foo');
$self->render(text => "Hello from $foo.");
};
# Start the Mojolicious command system
app->start;
4
Prueba de un pequeño servicio web con Plack::Test:
use Plack::Test;
use Test::More;
test_psgi(
app => sub {
my ($env) = @_;
return [200, ['Content-Type' => 'text/plain'], ["Hello World"]],
},
client => sub {
my ($cb) = @_;
my $req = HTTP::Request->new(GET => "http://localhost/hello");
my $res = $cb->($req);
like $res->content, qr/Hello World/;
},
);
done_testing;
5
Un servicio web simplemente devuelve un código de estado HTTP y algunos datos, tal vez serializado en JSON o XML. Puede usar el módulo CGI
para hacer esto, p.:
#!/usr/bin/perl -w
use strict;
use warnings;
use CGI;
use CGI::Pretty qw/:standard/;
use URI::Escape;
my $query = CGI->new;
my $jsonQueryValue = uri_unescape $query->param('helloWorld');
# let's say that 'helloWorld' is a uri_escape()-ed POST variable
# that contains the JSON object { 'hello' : 'world' }
print header(-type => "application/json", -status => "200 OK");
print "$jsonQueryValue";
Puede, por supuesto, imprimir una respuesta HTTP con otros códigos de estado y datos. Un servicio web puede necesitar devolver un error 404, por ejemplo, dependiendo de lo que se solicita. Esa clase de cosas.
Cuestiones relacionadas
- 1. Creación de paquetes con Perl
- 2. Creación de un servicio REST con C#
- 3. Creación de un servicio CalDAV con .Net
- 4. Perl servicio web (servidor) mejores prácticas
- 5. Creación de un servicio web y un cliente con tipos compartidos
- 6. Creación de un cliente de servicio web con wsdl conocido pero inaccesible
- 7. Servicio web con Lisp
- 8. con estado de servicio web
- 9. ¿Es un servicio web o un servicio web?
- 10. ¿Es un servicio WCF un servicio web?
- 11. Creación de un servicio python win32
- 12. Protección de un servicio web
- 13. ¿Garantizar un servicio web?
- 14. Creación de un servicio web simulado a partir de un archivo WSDL en Python
- 15. Creación de un servidor web REST con seguridad
- 16. Creación de un motor de búsqueda web
- 17. Creación de servicios web básicos en php
- 18. La creación de un servicio Web ASP.net que devuelve JSON en lugar de XML
- 19. Creación de un cliente de servicio web directamente desde la fuente
- 20. Creación de un instalador MSI para un servicio de Windows
- 21. ¿Alguien usó un cliente WCF con SSRS un servicio web?
- 22. Hacer un servicio web seguro
- 23. Cargue un archivo con Android al servicio web de Django
- 24. ¿Cómo crear un servicio web tranquilo con parámetros de entrada?
- 25. ¿Es posible proteger un servicio web con Autenticación de formularios?
- 26. Servicio web vs aplicación web
- 27. Prueba de un servicio web de WCF
- 28. Creación de servicio WCF sin archivo .svc
- 29. Creación de servicio WCF comprobable sin OperationContext
- 30. Servicio web Java ASYnc REST con Jersey?
Debe ser un poco más específico acerca de sus objetivos. ¿Qué debería hacer la aplicación? – dgw