Explication détaillée de l'API web C#

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
Insérer la description de l'image ici

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
Insérer la description de l'image ici
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.

Insérer la description de l'image ici

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
.
Insérer la description de l'image ici
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.
Insérer la description de l'image ici
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)

Insérer la description de l'image ici

routage

Je suppose que tu aimes

Origine blog.csdn.net/qq_43886548/article/details/130966157
conseillé
Classement