Premiers pasCréer un projet web
Créez d'abord un projet Web qui peut essentiellement exécuter et utiliser Postman pour tester l'interface.
.NET Framework et .NET Core peuvent créer une webAPI. Il est plus facile d'utiliser .NET Framework ici.
Démarrez Visual Studio et sélectionnez Nouveau projet dans la page de démarrage. Alternativement, dans le menu Fichier, sélectionnez Nouveau, puis sélectionnez Projet.
Dans le volet Modèles, sélectionnez Modèles installés et développez le nœud Visual C#. Sous Visual C#, sélectionnez Web. Dans la liste des modèles de projet, sélectionnez Application Web ASP.NET ou recherchez « Application Web ASP.NET » directement sur la page de création
Sélectionnez l'API Web
Après l'avoir créé, fermez d'abord la page de présentation.
Les seuls dossiers auxquels vous devez prêter attention sont ensuite les modèles et les contrôleurs. Ajoutez la classe Product
dans les modèles.
namespace ProductsApp.Models
{
public class Product
{
public int Id {
get; set; }
public string Name {
get; set; }
public string Category {
get; set; }
public decimal Price {
get; set; }
}
}
Ajoutez le contrôleur webapi 2 dans les contrôleurs. Si vous
remplissez le nom, assurez-vous d'ajouter le nom de la classe de données correspondante avant le contrôleur - ProductsController.
Méthode de définition pour commencer
Définir les méthodes GetAllProducts() et GetProduct()
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using WebApplication1.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Web.Http;
namespace WebApplication1.Controllers
{
public class ProductsController : ApiController
{
Product[] products = new Product[]
{
new Product {
Id = 1, Name = "Tomato Soup", Category = "Groceries", Price = 1 },
new Product {
Id = 2, Name = "Yo-yo", Category = "Toys", Price = 3.75M },
new Product {
Id = 3, Name = "Hammer", Category = "Hardware", Price = 16.99M }
};
public IEnumerable<Product> GetAllProducts()
{
return products;
}
public IHttpActionResult GetProduct(int id)
{
var product = products.FirstOrDefault((p) => p.Id == id);
if (product == null)
{
return NotFound();
}
return Ok(product);
}
}
}
Ensuite, vous pouvez voir notre API en l'exécutant directement.
Si une erreur est signalée et que localhost rejette notre demande de connexion, il est fort probable que le port soit occupé. Attendez un moment et ce sera normal.
Entrez https://localhost:44378/api/Products pour afficher les résultats renvoyés.
À ce stade, l'API Web est simplement terminée.
Renvoie le résultat de l’opération de saisie
Comment l'API Web ASP.NET convertit les valeurs de retour des actions du contrôleur en messages de réponse HTTP
.
Si l'opération renvoie un HttpResponseMessage, l'API Web utilise les propriétés de l'objet HttpResponseMessage pour remplir la réponse, convertissant la valeur de retour directement en message de réponse HTTP.
public class ValuesController : ApiController
{
public HttpResponseMessage Get()
{
HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.OK, "value");
response.Content = new StringContent("hello", Encoding.Unicode);
response.Headers.CacheControl = new CacheControlHeaderValue()
{
MaxAge = TimeSpan.FromMinutes(20)
};
return response;
}
}
IHttpActionResult peut être implémenté à l'aide du IHttpActionResult défini dans l'espace de noms System.Web.Http.Results en utilisation réelle. La classe ApiController définit des méthodes d'assistance qui renvoient les résultats de ces opérations intégrées.
Il définit de nombreux types de retour qui peuvent être appelés directement
public IHttpActionResult Get (int id)
{
Product product = _repository.Get (id);
if (product == null)
{
return NotFound(); // Returns a NotFoundResult
}
return Ok(product); // Returns an OkNegotiatedContentResult
}
Pages d'aide et documentation pour la mise en route
Ajouter de la documentation sur l'API
Par défaut, les pages d'aide contiennent des chaînes d'espace réservé pour la documentation. Les documents peuvent être créés à l'aide de commentaires de documents XML. Pour activer cette fonctionnalité, ouvrez le fichier Areas/HelpPage/App_Start/HelpPageConfig.cs et décommentez les lignes suivantes
config.SetDocumentationProvider(new XmlDocumentationProvider(
HttpContext.Current.Server.MapPath("~/App_Data/XmlDocument.xml")));
Vérifiez l'étape suivante et entrez le chemin de génération.
Une fois terminé, écrivez /// dans la méthode sur le contrôleur ///Les commentaires seront affichés sur le document d'aide.
/// <summary>
/// 方法名和请求方式是一一对应的
/// </summary>
public IHttpActionResult GetEmployee(int id)