WebApi訪問方式配置


  之前公司使用webapi開發項目,只知道怎么用對於怎么配置一直不了解,最近這段時間沒什么事然后自己建一個webapi項目,只知道怎么用對於怎么配置一直不了解,最近這段時間沒什么事然后自己建一個webapi項目,主要有個webapiconfig.cs文件
 
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web.Http;
 
namespace RouteFirstApi
{
    public static class WebApiConfig
    {
        public static void Register(HttpConfiguration config)
        {
            // Web API 配置和服務
 
            // Web API 路由
            config.MapHttpAttributeRoutes();
 
            config.Routes.MapHttpRoute(
                name: "DefaultApi",
                routeTemplate: "api/{controller}/{id}",
                defaults: new { id = RouteParameter.Optional }
            );
        }
    }
}

  

然后建個controller
 
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
 
namespace RouteFirstApi.Controllers
{
    public class OrderController : ApiController
    {
 
        [HttpGet]
        public IHttpActionResult GetAll() {
            return Ok<string>("Success");
        }
     }
}

  

 
訪問時地址為http://localhost:80/api/Order
返回的值正常,但是一旦多建一個方式是就需要配置好多東西,如
 
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
 
namespace RouteFirstApi.Controllers
{
    [RoutePrefix("api/Order")]
    public class OrderController : ApiController
    {
        [Route("")]
        [HttpGet]
        public IHttpActionResult GetAll() {
            return Ok<string>("Success");
        }
 
        [Route("{ id:int }")]
        [HttpGet]
        public IHttpActionResult GetById(int id) {
            return Ok<string>("帶id的int類型" + id);
        }
     }
}

  

 
感覺很麻煩,然后就想可不可以讓這東西的訪問地址和mvc類似呢?編程http://localhost:80/api/Order/GetAll
然后通過一同實驗,發現只需要在將WebApiConfig中加入action然后這些配置就可以取消了
 
 
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web.Http;
 
namespace RouteFirstApi
{
    public static class WebApiConfig
    {
        public static void Register(HttpConfiguration config)
        {
            // Web API 配置和服務
 
            // Web API 路由
            config.MapHttpAttributeRoutes();
 
            config.Routes.MapHttpRoute(
                name: "DefaultApi",
                routeTemplate: "api/{controller}/{action}/{id}",
                defaults: new { id = RouteParameter.Optional }
            );
        }
    }
}
 

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM