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

bt1cpqcv  于 2022-11-15  发布在  其他
关注(0)|答案(1)|浏览(147)

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

hpcdzsge

hpcdzsge1#

正如@戴所解释的那样,我完全同意他的观点。另外,我想给你提供一些现实生活中的区别。

Web服务:

作为Web Service,基本上使用WSDL,用于与SOAPXML基础服务通信。然而,Web Service中的主要挑战是处理跨平台请求。我们通常通过以下方式添加服务引用:开发Web服务时。

Web API:

考虑到这些缺点,微软后来开发了Web API,更具体地说,Asp.net Web API为使用REST模式的跨平台开发提供了强大的功能,它主要使用Json数据。这并不意味着web service不能做到这一点,但不如现在的Web API强大。与之不同的是,Web服务我们不需要经历任何集成的麻烦,如上所述,我们可以直接使用asp.net核心项目开发,并可以打开路由从任何地方调用。例如下面的例子:

[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都是轻量级的。

相关问题