Web 服务与 Web API(真正的区别是什么)

问题描述 投票:0回答:1

有人可以向我解释一下 Web 服务和 Web API 之间的区别吗?我浏览了很多博客,但它们似乎都使用相同的书本知识。它们之间的实际区别是什么?

c# asp.net-core web-services asp.net-core-webapi
1个回答
3
投票

正如@Dai所解释的那样,我完全同意他的观点。另外,我还想给大家提供一些现实生活中的差异。

网络服务:

Web Service
一样,基本上使用
WSDL
来与
SOAP
XML
基础服务进行通信。然而,
Web Service
中的主要挑战是处理跨平台请求。我们过去在开发Web Services时添加服务引用的方式如下:

enter image description here

enter image description here

网络API:

考虑到这些缺点,微软后来更具体地开发了

Web API
Asp.net Web API
,它为使用REST模式的跨平台开发提供了强大的功能,主要使用
Json
数据。这并不意味着
web service
不能做到这一点,但不像现在的
Web API
那么强大。与Web服务不同的是,我们不需要像上面那样经历任何集成麻烦,我们可以直接使用Asp.net core项目进行开发,并且可以打开从任何地方调用的路线。例如下面的例子..

    [ApiController]
    [Route("api/VehicleFilter")]
    public class VehicleFilterController : ControllerBase
    {

        private readonly ApplicationDbContext _context;
        private readonly IWebHostEnvironment _environment;


        public VehicleFilterController(IWebHostEnvironment environment, ApplicationDbContext context)
        {
            _environment = environment;
            _context = context;
        }
       
        [HttpGet]
        public async Task<IActionResult> GetAllFilter()
        {

           string VehicleName = "Hatchback";
           var sqlCommand = $"EXEC GetVehicleByTile {VehicleName}";
           var vehicleFilterValues = await _context.VehicleFilter.FromSqlRaw(sqlCommand).ToListAsync();
           return Ok(vehicleFilterValues);
        }


    }

总而言之,

Web API
提供了更大的灵活性和鲁棒性,当然,在编写任何新方法时也是轻量级的。其中
web service
会给开发商带来一些缺点。

© www.soinside.com 2019 - 2024. All rights reserved.