日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

web api教程Java_WebApi项目创建CURD

發布時間:2024/7/23 java 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 web api教程Java_WebApi项目创建CURD 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

WebApi

1.創建實體類

public class Contact

{

public string Id { get; set; }

public string Name { get; set; }

public string Phone { get; set; }

public string Email { get; set; }

public DateTime LastModified { get; set; }

}

2.操作實體類接口

public interface IContactRepository

{

IEnumerable GetAllContacts();//獲取全部數據

Contact GetContact(string id);//根據id獲取數據

List AddContact(Contact item);//添加數據

bool RemoveContact(string id);//刪除數據

List UpdateContact(Contact item); ??//更新數據

}

3.創建BLL并實現IContactRepository接口

public class ContactBLL : IContactRepository

{

public IEnumerable GetAllContacts()

{

return ContactDAL.GetAllContactsDAL();

}

public Models.Contact GetContact(string id)

{

return ContactDAL.GetContactDAL(id);

}

public List AddContact(Contact item)

{

return ContactDAL.AddContactDAL(item);

}

public bool RemoveContact(string id)

{

return ContactDAL.RemoveContactDAL(id);

}

public List UpdateContact(Contact item)

{

return ContactDAL.UpdateContactDAL(item.Id,item);

}

}

4.創建DAL操作數據,因為沒有寫數據庫,所以寫了一個集合模擬數據庫

public class ContactDAL

{

static List list = new List() {

new Contact(){Id = "1",Name = "小李",Phone = "13800000",Email = "222@qq.com",LastModified = DateTime.Now},

new Contact(){Id = "2",Name = "小王",Phone = "13500000",Email = "333@qq.com",LastModified = DateTime.Now}

};

public static IEnumerable GetAllContactsDAL()

{

var a = list.Where(u => 1 == 1);

return a;

}

public static Contact GetContactDAL(string id)

{

var contact = list.Where(u => u.Id == id).FirstOrDefault();//使用lamdba

return contact;

}

public static List AddContactDAL(Contact item)

{

list.Add(item);

return list;

}

public static bool RemoveContactDAL(string id)

{

var a = from u in list where u.Id == id select u;//使用linq

bool b = list.Remove(a.FirstOrDefault());

return b;

}

public static List UpdateContactDAL(string id,Contact item)

{

//var a = list.Where(u => u.Id == id).FirstOrDefault();

var a = from u in list where u.Id == id select u;

Contact contact = a.FirstOrDefault();

contact.Name = item.Name;

return list;

}

}

5.創建api可以讀寫的控制器

[AllowCross]//webapi允許跨域訪問

[RoutePrefix("api/contact")]//配置路由

public class ContactController : ApiController

{

private static readonly IContactRepository _contacts = new ContactBLL();

[HttpGet]

public string GetContact()

{

return JsonConvert.SerializeObject(_contacts.GetAllContacts());

}

[HttpGet]

public Contact GetContact(string id)

{

return _contacts.GetContact(id);

}

[HttpPost]

public List AddContact([FromBody]Contact value)

{

return _contacts.AddContact(value);

}

[HttpPost]

public List UpdateContact([FromBody]Contact value)

{

return _contacts.UpdateContact(value);

}

[HttpGet]

public bool RemoveContact(string id)

{

return _contacts.RemoveContact(id);

}

}

6.路由配置(App_Start中的RouteConfig.cs)

修改:url: "{controller}/{action}/{id}",

7.配置跨域訪問(App_Start中的WebApiConfig.cs)

添加改類

public class AllowCrossAttribute : System.Web.Http.Filters.ActionFilterAttribute

{

private const string Origin = "Origin";

///

/// Access-Control-Allow-Origin是HTML5中定義的一種服務器端返回Response header,用來解決資源(比如字體)的跨域權限問題。

///

private const string AccessControlAllowOrigin = "Access-Control-Allow-Origin";

///

/// ?originHeaderdefault的值可以使 URL 或 *,如果是 URL 則只會允許來自該 URL 的請求,* 則允許任何域的請求

///

private const string originHeaderdefault = "*";

///

/// 該方法允許api支持跨域調用

///

/// 初始化 System.Web.Http.Filters.HttpActionExecutedContext 類的新實例。

public override void OnActionExecuted(HttpActionExecutedContext actionExecutedContext)

{

actionExecutedContext.Response.Headers.Add(AccessControlAllowOrigin, originHeaderdefault);

}

}

Web端調用

@{

ViewBag.Title = "請求web api";

Layout = "~/Views/Shared/_Layout.cshtml";

}

請求web api

var path = "http://localhost:32166/api/Contact/";

function GetContactAll() {

$.get(path + "GetContact", "", function (data) {

console.info(data);

},"json")

}

function GetContactToId() {

$.get(path + "GetContact", {id:"1"}, function (data) {

console.info(data);

},"json")

}

function AddContact() {

var contact1 ={

Id:"3",

Name: "小樓",

Phone: "123456",

Email: "123@qq.com"

}

var contact2 = {

Id: "4",

Name: "小樓",

Phone: "123456",

Email: "123@qq.com"

}

//兩種方式

$.post(path + "AddContact", contact1, function (data) {

console.info(data);

}, "json");//第一種

$.ajax({

type: "post",

url: path + "AddContact",

dataType: "json",

data: contact2,

async: true,

success: function (data) {

console.info(data);

}

})//第二種

}

function UpdateContact() {

var contact= {

Id:"1",

Name: "小樓",

Phone: "123456",

Email: "123@qq.com"

}

$.post(path + "UpdateContact", contact, function (data) {

console.info(data);

},'json')

}

function RemoveContact() {

$.get(path + "RemoveContact", { id: "1" }, function (data) {

console.info(data);

},'json');

}

總結

以上是生活随笔為你收集整理的web api教程Java_WebApi项目创建CURD的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。