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 }
            );
        }
    }
}
 

  

转载于:https://www.cnblogs.com/yiquweixuan/p/7098918.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值