听起来听起来很幼稚但是当有人在他们的论文中提到它时,Web应用程序和Web API有多么不同? 他们的功能有多么不同?
答案 0 :(得分:12)
非常简短:网络应用程序,它是您在浏览器中看到的网站,以及web api,它是您在Web应用程序中使用的服务。
另见Difference between ASP.NET MVC and ASP.NET Web API:
Asp.Net MVC用于创建返回两个视图的Web应用程序 和数据,但Asp.Net Web API用于创建完整的HTTP 服务采用简单易行的方式,只返回不查看的数据。
答案 1 :(得分:4)
Web应用程序用于通过视图进行人工交互,而Web API又称Web服务用于系统到系统的交互(以编程方式进行信息交换)。他们交换数据。
答案 2 :(得分:1)
网络应用是在您的浏览器中运行的网站,网络Api就是服务
答案 3 :(得分:0)
网络应用程序:
这是针对用户的端到端解决方案。这意味着用户可以:
Web API
仅凭Web API,用户就无法与其进行交互,因为它仅返回数据,而不返回视图。
使用模拟解释
网络应用程序:
假设我们有厨师。我们可以随时要求他为我们做饭!假设我们请厨师为我们做汉堡。他将处理我们的请求,并将为我们提供汉堡。 (这就像一个Web应用程序;一个完整的解决方案。)
Web API
现在,如果我们要求他为我们制作“麦当劳”汉堡,他可以做饭并带给我们吗?没有! API的概念来了! (在此示例中,假设麦当劳只将外卖给厨师)
McDonalds-Takeaways就像一个API。这使得其他系统(厨师)可以击中它并带回所需的数据。因此,我们可以要求我们的解决方案(我们的厨师)来
所以发生了什么事,我们要求我们的“系统”与McDonalds-takeaways(API系统)进行对话,并带回我们想要的结果。
答案 4 :(得分:0)
简单来说,Web应用程序对请求的响应是html,css,javascript和浏览器可以呈现(图形)的任何内容,而Web api返回非图形“数据”。话虽如此,我认为我们可以使Web api像Web应用程序一样工作,因为html仍然是数据。
答案 5 :(得分:0)
Create :
public IHttpActionResult GetAllProduct()
{
IList<product> pro = null;
using (var ctx = new TestMVCEntities())
{
pro = ctx.products.ToList();
}
if (pro.Count == 0)
{
return NotFound();
}
return Ok(pro);
}
public IHttpActionResult PostNewProduct(product pro)
{
using (var ctx = new TestMVCEntities())
{
ctx.InUPProduct(pro.pid,pro.pname,pro.pprice);
ctx.SaveChanges();
}
return Ok();
}
public IHttpActionResult PutOldProduct(product pro)
{
using (var ctx = new TestMVCEntities())
{
product c = (from x in ctx.products
where x.pid == pro.pid
select x).First();
if (c != null)
{
c.pname = pro.pname;
c.pprice = pro.pprice;
ctx.SaveChanges();
}
else
{
return NotFound();
}
}
return Ok();
}
public IHttpActionResult Delete(int id)
{
using (var ctx = new TestMVCEntities())
{
var pro = ctx.products
.Where(s => s.pid == id)
.FirstOrDefault();
ctx.Entry(pro).State = System.Data.Entity.EntityState.Deleted;
ctx.SaveChanges();
}
return Ok();
}
Consume :
public JsonResult GetProductsData()
{
using (var client = new HttpClient())
{
client.BaseAddress = new Uri("http://localhost:44350/api/");
//HTTP GET
var responseTask = client.GetAsync("product");
responseTask.Wait();
var result = responseTask.Result;
if (result.IsSuccessStatusCode)
{
var readTask = result.Content.ReadAsAsync<IList<product>>();
readTask.Wait();
var alldata = readTask.Result;
var rsproduct = from x in alldata
select new[]
{
Convert.ToString(x.pid),
Convert.ToString(x.pname),
Convert.ToString(x.pprice),
Convert.ToString(x.pimage),
Convert.ToString(x.pisdemand),
Convert.ToString(x.pcname),
Convert.ToString(x.psupply)
};
return Json(new
{
aaData = rsproduct
},
JsonRequestBehavior.AllowGet);
}
else //web api sent error response
{
var pro = Enumerable.Empty<product>();
return Json(new
{
aaData = pro
},
JsonRequestBehavior.AllowGet);
}
}
}
public JsonResult InupProduct(string id,string pname, string pprice)
{
try
{
product obj = new product
{
pid = Convert.ToInt32(id),
pname = pname,
pprice = Convert.ToDecimal(pprice)
};
using (var client = new HttpClient())
{
client.BaseAddress = new Uri("http://localhost:44350/api/product");
//HTTP POST
var postTask = client.PostAsJsonAsync<product>("product", obj);
postTask.Wait();
var result = postTask.Result;
if (result.IsSuccessStatusCode)
{
return Json(1, JsonRequestBehavior.AllowGet);
}
else
{
return Json(0, JsonRequestBehavior.AllowGet);
}
}
/*context.InUPProduct(Convert.ToInt32(id),pname,Convert.ToDecimal(pprice));
return Json(1, JsonRequestBehavior.AllowGet);*/
}
catch (Exception ex)
{
return Json(0, JsonRequestBehavior.AllowGet);
}
}
public JsonResult deleteRecord(int ID)
{
try
{
using (var client = new HttpClient())
{
client.BaseAddress = new Uri("http://localhost:44350/api/product");
//HTTP DELETE
var deleteTask = client.DeleteAsync("product/" + ID);
deleteTask.Wait();
var result = deleteTask.Result;
if (result.IsSuccessStatusCode)
{
return Json(1, JsonRequestBehavior.AllowGet);
}
else
{
return Json(0, JsonRequestBehavior.AllowGet);
}
}
/* var data = context.products.Where(x => x.pid == ID).FirstOrDefault();
context.products.Remove(data);
context.SaveChanges();
return Json(1, JsonRequestBehavior.AllowGet);*/
}
catch (Exception ex)
{
return Json(0, JsonRequestBehavior.AllowGet);
}
}