有人能给我解释一下Web服务和Web API之间的区别吗?我看了这么多博客,但它们似乎都在使用相同的书本知识。它们之间的实际区别是什么?
hpcdzsge1#
正如@戴所解释的那样,我完全同意他的观点。另外,我想给你提供一些现实生活中的区别。
Web服务:
作为Web Service,基本上使用WSDL,用于与SOAP或XML基础服务通信。然而,Web Service中的主要挑战是处理跨平台请求。我们通常通过以下方式添加服务引用:开发Web服务时。
Web Service
WSDL
SOAP
XML
Web API:
考虑到这些缺点,微软后来开发了Web API,更具体地说,Asp.net Web API为使用REST模式的跨平台开发提供了强大的功能,它主要使用Json数据。这并不意味着web service不能做到这一点,但不如现在的Web API强大。与之不同的是,Web服务我们不需要经历任何集成的麻烦,如上所述,我们可以直接使用asp.net核心项目开发,并可以打开路由从任何地方调用。例如下面的例子:
Web API
Asp.net Web API
Json
web service
[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都是轻量级的。
1条答案
按热度按时间hpcdzsge1#
正如@戴所解释的那样,我完全同意他的观点。另外,我想给你提供一些现实生活中的区别。
Web服务:
作为
Web Service
,基本上使用WSDL
,用于与SOAP
或XML
基础服务通信。然而,Web Service
中的主要挑战是处理跨平台请求。我们通常通过以下方式添加服务引用:开发Web服务时。Web API:
考虑到这些缺点,微软后来开发了
Web API
,更具体地说,Asp.net Web API
为使用REST模式的跨平台开发提供了强大的功能,它主要使用Json
数据。这并不意味着web service
不能做到这一点,但不如现在的Web API
强大。与之不同的是,Web服务我们不需要经历任何集成的麻烦,如上所述,我们可以直接使用asp.net核心项目开发,并可以打开路由从任何地方调用。例如下面的例子:总而言之,
Web API
提供了更大的灵活性和健壮性,当然,在编写任何新方法时,web service
都是轻量级的。