Categorías
asp.net core

Tutorial de la API web de Asp.net Core MVC con ejemplos

Introducción:


Aquí aprenderemos cómo crear una API web en asp.net

core mvc con ejemplo o asp.net tutorial de core mvc rest web api con ejemplo o asp.net core mvc restful api con ejemplo o implementar web api usando asp.net núcleo con ejemplos. Mediante el uso asp.net plantillas de API web core mvc, podemos implementar fácilmente servicios de API web de descanso en función de nuestros requisitos.


Descripción:


En artículos anteriores expliqué la validación del modelo asp.net mvc con anotaciones de datos con el ejemplo, asp.net usa la base de datos mysql para obtener datos con el ejemplo, asp.net mvc carga archivos a la carpeta o servidor con el ejemplo, angularjs pasa valores de un controlador a otro controlador con ejemplo, diferencia entre iqueryable e ienumerable en c #, vb.net, Diferentes tipos de constructores en c #, vb.net, destructor en c #, vb.net con ejemplos

y muchos más artículos relacionados con asp.net, mvc, C#, vb.net. Ahora explicaré cómo crear o implementar una API web restful usando asp.net core mvc con ejemplo.

Para crear una API web primero, necesitamos crear un nuevo proyecto para ese Open Visual Studio. a

Ir al menú Archivo a seleccione Nuevo a

Proyecto como se muestra a continuación



















Ahora, desde plantillas web, seleccione Aplicación web Asp.Net Core (.NET Core) y dar nombre (CoreWebAPI) al proyecto y haga clic en OK botón como se muestra a continuación.




Una vez que hacemos clic OK
botón nueva plantilla se abrirá en esa selección API web de las plantillas Asp.Net Core como se muestra a continuación




La estructura de nuestro proyecto de la API web principal de asp.net será como se muestra a continuación




Ahora agregue nuevo «Modelos«Carpeta en el proyecto haciendo clic derecho en el proyecto seleccionar Agregar a Nueva carpeta como se muestra a continuación




Ahora agregue una nueva clase «Detalles de usuario«En la carpeta Modelos y escriba el código como se muestra a continuación


espacio de nombres

CoreWebAPI.Models

{

público clase Detalles de usuario

{

público En t userid { obtener; colocar; }

público cuerda nombre de usuario {
obtener; colocar; }

público cuerda educación { obtener; colocar; }

público cuerda localización {
obtener; colocar; }

}

}

En .net core, necesitamos agregar archivos de clase de repositorio en nuestro proyecto para mantener la lógica de nuestra aplicación y la capa de interfaz para lograr la inyección de dependencia. Para eso, haga clic derecho en su Modelos carpeta y agregue un nuevo archivo de clase y dé el nombre como «IUserRepository”Y escriba el código como se muestra a continuación


IUserRepository.cs


usando

System.Collections.Generic;

espacio de nombres

CoreWebAPI.Models

{

público interfaz
IUserRepository

{

Lista<Detalles de usuario> Agregar usuario (Detalles de usuario usuario);

IEnumerable<Detalles de usuario> GetUsers ();

Detalles de usuario

Encontrar usuario(En t userid);

}

}

Hemos terminado con la capa de interfaz, ahora necesitamos crear un archivo de lógica de aplicación para ese clic derecho en Modelos carpeta a

agregar un nuevo archivo de clase a dar nombre como «UserRepository”Y escriba el código como se muestra a continuación (aquí heredamos propiedades de IUserRepository archivo de interfaz).


UserRepository.cs


usando

System.Collections.Generic;

espacio de nombres

CoreWebAPI.Models

{

público clase UserRepository:IUserRepository

{

Lista<Detalles de usuario> _userinfo = nuevo Lista<Detalles de usuario> ();

público

UserRepository ()

{

Agregar usuario(nuevo Detalles de usuario {userid = 1, username =«Suresh Dasari», educación =«Tecnología B», ubicación =«Chennai» });

}

público Lista<Detalles de usuario> Agregar usuario (Detalles de usuario usuario)

{

_userinfo.Add (usuario);

regreso _Información de usuario;

}

público IEnumerable<Detalles de usuario> GetUsers ()

{

regreso _Información de usuario;

}

público Detalles de usuario

Encontrar usuario(En t ID de usuario)

{

regreso

_userinfo.Find (x => x.userid == userid);

}

}

}

Ahora tenemos que registrar nuestro archivo lógico de aplicación de repositorio y las capas de interfaz con el contenedor de inyección de dependencia para ese archivo abierto. Startup.cs archivo y agregue el siguiente espacio de nombres para acceder a las referencias de la carpeta de modelos


usando CoreWebAPI.Models;

En ConfigureServices
método de Startup.cs archivo agregue el código resaltado como se muestra a continuación



Startup.cs


público vacío

ConfigureServices (IServiceCollection servicios)

{

// Agregar servicios de marco.

services.AddMvc ();

services.AddSingleton <IUserRepository, UserRepository> ();

}

Ahora agregaremos un nuevo controlador para escribir nuestros métodos personalizados para ese clic derecho en Controladores
carpeta y seleccione Agregar
a

Nuevo artículo a En nuevos elementos, seleccione Clase de controlador de API web plantilla y dar el nombre como «UserController”Como se muestra a continuación.


Ahora abierto UserController
archivo y escriba el código como se muestra a continuación


UserController.cs


usando Sistema;

usando

System.Collections.Generic;

usando

Microsoft.AspNetCore.Mvc;

usando

CoreWebAPI.Models;

espacio de nombres

CoreWebAPI.Controllers

{

[Route(«api/[controller]»)]

público clase UserController

: Controlador

{

público nuevo IUserRepository

Usuario { obtener; colocar; }

público

UserController (IUserRepository _usuario)

{

Usuario = _usuario;

}

// OBTENER: api / valores

[HttpGet]

público IEnumerable<Detalles de usuario> GetAllUsers ()

{

regreso

User.GetUsers ();

}

// OBTENER api / values ​​/ 5

[HttpGet(«{userid}»)]

público IActionResult

GetUserById (cuerda ID de usuario)

{

si(!cuerda.IsNullOrEmpty (ID de usuario))

{

var resultado = User.FindUser (Convertir.ToInt32 (ID de usuario));

si (resultado == nulo)

regreso

Sin contenido();

demás

regreso nuevo ObjectResult(resultado);

}

demás

{

regreso

Solicitud incorrecta();

}

}

// POST api / valores

[HttpPost]

público IActionResult

insertuserdetails[FromBody]Detalles de usuario Información de usuario)

{

si (userinfo == nulo)

regreso Solicitud incorrecta();

demás

{

var resultados = User.AddUser (userinfo);

regreso nuevo OkObjectResult(resultados);

}

}

}

}

Podemos acceder a los métodos de controlador anteriores utilizando las URL como se muestra a continuación.


OBTENER Solicitudes


/ api / user – Obtiene todos los usuarios

/ api / user / {userid}: obtén los detalles del usuario según el ID de usuario


Publicar solicitud


/ api / user: inserta los detalles del usuario.

Ahora probaremos nuestros métodos de controlador usando cartero o violinista.



Obtener todos los usuarios (/ api / user)


Obtenga los detalles del usuario basados ​​en el ID de usuario (/ api / user / 1)


Insertar y mostrar detalles de usuario (/ api / user)


.