viernes, 8 de abril de 2016

SERVICIO REST CON DOS VARIABLES EN URI

Objetivo

El motivo de este Blog es colaborar con un servicio REST para recibir dos variables en la URI. Se desarrolla en C# sobre Visual Studio 2015.

El caso parte de buscar un Cliente, este Cliente se puede buscar por nombre, dirección o teléfono, según lo que se seleccione en el front.


1. Base de Datos:
En SQL creamos la base de datos DB_CLIENTES y luego la tabla t_clientes



2. Crear Servicio:

2.1.-  Abrir VS – Herramientas – Opciones – Editor de Texto – C## - General – Check en Números de Linea.
2.2.-  Archivo – Nuevo – Proyecto – Visual C## - WCF – Aplicación de Servicios WCF (poner ubicación conocida y nombre de la solución personal, para nuestro caso WCFClientes)
2.3.-  En Explorador de Soluciones eliminar IService1.cs y Service1.cs
2.4.-  Clic derecho sobre WCFClientes – Agregar – Nuevo Elemento – Seleccionar Visual C## - Buscar WCF – Seleccionar Servicio WCF y poner nombre plural “Clientes”.

3. Crear Clase Clientes:

3.1.-  Clic derecho sobre WCFClientes – Agregar – Nueva Carpeta y le ponemos de nombre "Dominio".
3.2.-  Clic derecho sobre la carpeta creada "Dominio" - Agregar - Clase y le ponemos de nombre "Cliente.cs".
3.3.-  Le damos doble clic a Cliente.cs y definimos sus atributos, tal y como se muestran a continuación:


4. Crear DAO y Conexión a la base de datos

4.1.-  Clic derecho sobre WCFClientes – Agregar – Nueva Carpeta y le ponemos de nombre "Persistencia".
3.2.-  Clic derecho sobre la carpeta creada "Dominio" - Agregar - Clase y le ponemos de nombre "ConexionUtil.cs".
3.3.-  Le damos doble clic a ConexionUtil.cs y definimos la cadena de conexión, tal. Como notarán a continuación podemos definir distintas conexiones e invocarlas posteriormente, para el caso de que tengamos que acceder a distintas bases de datos desde un mismo servicio:

















3.4.-  Luego creamos nuestro DAO, para esto creamos en la carpeta "Persistencia" la clase "ClienteDAO.cs" tal y como creamos "ConexionUtil", aquí tenemos dos métodos que nos van a servir para nuestro propósito:

3.4.1.-  ObtenerCliente




3.4.2.-  BuscarCliente, aquí recibe dos parámetros, el tipo: que es el campo por el cual se va a buscar (nombre, dirección o teléfono) y la variable var: que es el valor que se va a recibir de búsqueda y de acuerdo a eso se arma el query dependiendo de lo que llegue:




4. Luego trabajamos en el servicio, en el archivo Clientes.svc.cs de tal forma que quede así:



5. Interfaz IClientes.cs 
Aquí es donde definimos las dos variables en la URI




6. Marcado en Clientes.svc.cs 
Clic derecho sobre archivo Clientes.svc.cs y seleccionamos Ver Marcado y debemos dejarlo así:



7. Compilar Servicio 
Clic derecho sobre el servicio WCFClientes y lo compilamos

8. Visualizar Servicio en Navegador 
Finalmente clic derecho sobre Clientes.svc.cs y seleccionamos Ver en Explorador.

8.1.- El servicio levantado


8.2.- El servicio Clientes buscando por teléfono "t"


8.3.- El servicio Clientes buscando por nombre "n"


8.4.- El servicio Clientes buscando por dirección "d"




9. Referencias


https://msdn.microsoft.com/es-es/library/bb675245(v=vs.110).aspx
http://stackoverflow.com/questions/15289120/optional-uritemplate-parameter-using-webget
http://helibertoarias.com/net/como-publicar-servicio-web-wcf-con-json-en-c/
http://www.c-sharpcorner.com/blogs/optional-parameters-in-wcf-service-uri-template1




















No hay comentarios:

Publicar un comentario en la entrada