第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

將多個(gè)值從 WebApi (post) 返回到 AngularJs

將多個(gè)值從 WebApi (post) 返回到 AngularJs

C#
蕪湖不蕪 2021-11-28 16:15:18
我正在使用 .net 核心 C#、WebApi 和 AngularJs。為了保存數(shù)據(jù),我的 Angularjs 代碼對(duì)我的 WebApi 進(jìn)行了 $http 調(diào)用。我可以很好地從我的 api 返回單個(gè)數(shù)據(jù),但不確定在這里返回多個(gè)值的最佳方法是什么。我可以用逗號(hào)分隔然后返回,但想知道是否有更好的方法。所以基本上當(dāng) API 將數(shù)據(jù)保存到我的數(shù)據(jù)庫時(shí),如果保存成功,我想返回一個(gè)變量,布爾值,如果保存不成功,我想返回一個(gè)異常消息。下面是我的代碼。AngularJs 代碼:service.saveData(data).then(function (res) {                              //get someDataToReturn, dataSaved & exception raised if any from db save here.    }, function (err) {});網(wǎng)絡(luò)API代碼:[HttpPost("data/save")]public async Task<IActionResult> SaveData([FromBody] List<UserData> data){    bool dataSaved = true;    string someDataToReturn = string.Empty;    //do some processing and updating someDataToReturn here             //Saving data to DB    dataSaved = SaveData(data);                    //I want to return someDataToReturn, dataSaved(true or false) and exception raised from SaveData if any     return Ok(someDataToReturn);}//DB Call to save datapublic bool SaveData(List<UserData> data){               try    {        foreach (var set in data)        {            //creating query etc            _db.Execute(query);        }                        return true;    }    catch (SqlException ex)    {    }    return false;}讓我知道最好的方法。
查看完整描述

3 回答

?
皈依舞

TA貢獻(xiàn)1851條經(jīng)驗(yàn) 獲得超3個(gè)贊

首先,您應(yīng)該檢查請(qǐng)求正文中的值是否正確填充。


看看DataAnnotations。您可以使用注釋來指定模型中的必需、最小和最大長度等屬性。


這是關(guān)于如何定義 UserData 類所需的 Name 屬性的示例


public class UserData

{

    [Required]  

    public string Name { get; set; }        

}

如果請(qǐng)求模型不滿足 UserData 類 DataAnnotations 上設(shè)置的指定規(guī)則,則上下文 ModelState 將設(shè)置為 false 并包含 DataAnnotations 錯(cuò)誤。這可用于確定當(dāng)前請(qǐng)求是否為錯(cuò)誤請(qǐng)求并從中返回正確的 http 狀態(tài)代碼。


[HttpPost("data/save")]

public async Task<IActionResult> SaveData([FromBody] List<UserData> data)

{

    if (!ModelState.IsValid)

        return BadRequest(ModelState); //will return a 400 code

    ...

然后關(guān)于 SaveData 方法。捕獲控制器中的異常并從那里返回正確的狀態(tài)代碼


[HttpPost("data/save")]

public async Task<IActionResult> SaveData([FromBody] List<UserData> data)

{

    if (!ModelState.IsValid)

        return BadRequest(ModelState); //400 status code


    try

    {

        SaveData(data);

    }

    catch(Exception e)

    {

        return InternalServerError(e); //500 status code

    }


    string someDataToReturn = string.Empty;

    return Ok(someDataToReturn ); //200 status code

}


public void SaveData(List<UserData> data)

{           

    foreach (var set in data)

    {

        //creating query etc


       _db.Execute(query);

    }                

}


查看完整回答
反對(duì) 回復(fù) 2021-11-28
?
慕虎7371278

TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超4個(gè)贊

您可以創(chuàng)建一個(gè)實(shí)體并返回它


public class BaseResult{

     public bool Result{get;set;}

     public string Errors{get;set;}

}

或僅


return Ok( new { result = dataSaved , error= exception.Message});


查看完整回答
反對(duì) 回復(fù) 2021-11-28
?
偶然的你

TA貢獻(xiàn)1841條經(jīng)驗(yàn) 獲得超3個(gè)贊

您可以創(chuàng)建一個(gè)實(shí)體并返回它


public class BaseResult{

     public bool Result{get;set;}

     public string Errors{get;set;}

}

或僅


return Ok( new { result = dataSaved , error= exception.Message});


查看完整回答
反對(duì) 回復(fù) 2021-11-28
  • 3 回答
  • 0 關(guān)注
  • 254 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)