zoukankan      html  css  js  c++  java
  • Web API tutorial

    Web API

    First, we can refer to this link.

    Here, we make a quick tutorial. we build restful api using MVC Web API

    1. First Controller, In this Sample, we need to note these things.

    1.1 Controller should inherite from ApiController.

    1.2 For each Api, it is just a function. We need to specify the Route , HttpMethod, ReturnType.
    Route, MSDN, we can provide url only, as it is shown below.
    or along with the RouteName. For Detail About Route, we can refer Link

    1.3 For the returnType of the webapi, it Can be HttpResponseMessage, or concrete Type of ViewModel. Detail explanation of HttpResponseMessage.

    code Sample:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Net;
    using System.Net.Http;
    using System.Web.Http;
    using ERPWeb.ViewModel;
    
    namespace ERPWeb.Api.Controllers
    {
        public class ProductsController : ApiController
        {
            [HttpGet]
            [Route("api/Products")]
            public HttpResponseMessage GetAll()
            {
                List<ProductViewModel> productList = new List<ProductViewModel>();
                productList.Add(new ProductViewModel() { Id = 1, Name = "Product1", Size = 50, Count = 1000 });
                productList.Add(new ProductViewModel() { Id = 2, Name = "Product2", Size = 57, Count = 1000 });
               // return Request.CreateErrorResponse(HttpStatusCode.NotFound,"not found");
                return Request.CreateResponse(HttpStatusCode.OK, productList);
            }
    
            [HttpGet]
            [Route("api/Products/{Id}")]
            public HttpResponseMessage Get(int Id)
            {
                ProductViewModel pvm = new ProductViewModel() { Id = 2, Name = "Product2", Size = 57, Count = 1000 };
                return Request.CreateResponse(HttpStatusCode.OK, pvm);
            }
    
            [HttpPatch]
            [HttpPut]
            [Route("api/Products/{Id}")]
            public HttpResponseMessage Put(int Id,[FromBody] ProductViewModel updatedProduct)
            {
                updatedProduct.Name = "OK";
                return Request.CreateResponse(HttpStatusCode.OK, updatedProduct);
            }
    
            [HttpPost]
            [Route("api/Products")]
            public HttpResponseMessage Post([FromBody] ProductViewModel pvm)
            {
                pvm.Id = 3;
                pvm.Name = "Ok";
                return Request.CreateResponse(HttpStatusCode.OK, pvm);
            }
    
            [HttpDelete]
            [Route("api/Products/{Id}")]
            public HttpResponseMessage Delete(int Id)
            {
                if(Id==1)
                {
                    return Request.CreateResponse(HttpStatusCode.OK);
                }
                else
                {
                    return Request.CreateErrorResponse(HttpStatusCode.NotFound, "error");
                }
            }
        }
    }
    
  • 相关阅读:
    《小学四则运算练习软件》GUI
    小学四则运算练习软件项目报告
    速读《现代软件工程——构建之法》
    个人学期总结
    201571030102/201571030133《小学四则运算软件软件需求说明》结对项目报告
    201571030102软件工程结对项目
    201571030102小学生四则运算
    速读《现代软件工程----构建之法》有感
    个人学期总结
    201571030103/201571030105 《小学四则运算练习软件软件需求说明》结对项目报告
  • 原文地址:https://www.cnblogs.com/kongshu-612/p/5949588.html
Copyright © 2011-2022 走看看