快速的⼊⼿WEBAPI项⽬搭建(有具体demo)
1、WEB API是个啥
以上因为有⼀些个⼈理解,可能有⼀些漏语,如有问题,欢迎指出
2、Web API实现前后端分离
⾸先引⼊⼀个问题,就是什么是前后端分离,前后端分离就是说我的相同的⼀个后端可以对应各种前端!后端可以⾃⼰独⽴的运⾏,根本不受前端的任何影响!前后端开发可以并⾏进⾏,如果是在服务器端,就应该被称之为后端,代表着你看不见,摸不着。⽽如果运⾏在⽤户端,就应该被称之为前端,代表你是可以看得到的。
3、webAPI前后端分离详细demo
(1)后端:
1、先建⽴⼀个空的web api (右击解决⽅案----添加-----新建项⽬----web–asp.Web应⽤程序-----选择空----底下勾选web api)
2、在Model下建⽴⼀个Person类
public class Product
{
public int Id { get; set; }
public string Name { get; set; }
public string Sex { get; set; }
public decimal Age { get; set; }
}
3、在Controllers下建⽴⼀个WebApiController
using System.Linq;
using System.Net;
using System.Web.Http;
using web_api_demo.Models;
namespace web_api_demo.Controllers
{
public class WebApiController : ApiController
{
Person[] person = new Person[]
{
new Person { Id = 1, Name = "李光", Sex = "男", Age = 18 },
new Person { Id = 1, Name = "东⽉", Sex = "⼥", Age = 18 },
new Person { Id = 1, Name = "⼩胖", Sex = "男", Age = 22 },
new Person { Id = 1, Name = "⼤兵兵", Sex = "男", Age = 23 },
};
public IEnumerable<Person> GetAllProducts()
{
return person;
}
public Person GetProductById(int id)
{
var product = person.FirstOrDefault((p) => p.Id == id);
if (product == null)
{
throw new HttpResponseException(HttpStatusCode.NotFound);            }
return product;
}
}
}
4、配置路由
在给出代码之前我们需要在我们的后端安装⼀个东西,这个东西是解决跨域的,点击管理Nuget程序包,如图
搜索microsoft.s 然后进⾏安装
在app_Start⽂件夹下,打开WebApiConfig,我们在了⾥边进⾏配置!
这⾥我们分别解决两个问题分别是跨域问题与将xml转换成json串格式
using Newtonsoft.Json.Serialization;
using System.Web.Http;
using System.Web.Http.Cors;
namespace web_api_demo
{
web后端是指什么
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
//跨域配置
config.EnableCors(new EnableCorsAttribute("*","*","*"));
// Web API 路由
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name:"DefaultApi",
routeTemplate:"api/{controller}/{id}",//如果想要和MVC⼀样,我们可以在controller加上action
defaults:new{ id = RouteParameter.Optional }
);
//将xml转换成json
config.Formatters.Remove(config.Formatters.XmlFormatter);
var jsonFormatter = config.Formatters.JsonFormatter;
jsonFormatter.SerializerSettings.Formatting = Newtonsoft.Json.Formatting.Indented;
jsonFormatter.SerializerSettings.ContractResolver =new CamelCasePropertyNamesContractResolver();
//说明:第⼀⾏是去掉默认的XML格式,这样输出数据就会以json格式显⽰,第三⾏是将输出结果缩进显⽰,第四⾏则是将字段名称改成camelCase格式,即postalCode这样的json统⼀格式。然后我们再次运⾏,发现结果就是我们想要的了。
}
}
}
后端代码完成,我们先进⾏⼀个简单的测试:
5、运⾏:
出现下⾯的界⾯,
然后在后边输⼊/api/webapi ,出现下图,证明咱们的后台没有问题了
(2)前端
新建⽴⼀个空⽹站,建⽴⼀个简单的html页⾯,页⾯代码如下

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。