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

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

在頁面控制器中使用API??控制器

在頁面控制器中使用API??控制器

C#
MMMHUHU 2023-09-09 17:16:45
我正在開始學(xué)習(xí) asp.net core,并且在理解一些基本模式方面遇到問題。我可以在 PageController 中使用 ApiController 嗎?例如//Home controllerpublic async Task<IActionResult> Index(){    var artists = await _artistController.GetAll();    var t = artists.GetValue();    var indexModel = new Models.Pages.IndexModel    {        Artists = artists.GetValue() //Extension method    };    return View(indexModel);}//ArtistRestController[HttpGet]public async Task<ActionResult<IEnumerable<Artist>>> GetAll(){    try    {        return Ok(await _repository.GetAll());    }    catch (Exception ex)    {        _logger.LogError(ex.Message);        return BadRequest(ex.Message);    }}它可以工作,但是設(shè)計(jì)上可以嗎?也許我應(yīng)該直接調(diào)用_repository.GetAll()而不使用其他控制器?
查看完整描述

1 回答

?
12345678_0001

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

首先,您應(yīng)該避免在一個(gè)控制器中使用另一個(gè)控制器。對(duì)于Controller來說,它用于處理來自客戶端的http請(qǐng)求。即使它是一個(gè)類,但將其用作一個(gè)類是不合理的。

其次,組合起來ApiController會(huì)使PageController你的應(yīng)用程序不穩(wěn)定并且耦合性太強(qiáng)。如果您稍后更改任何內(nèi)容ArtistRestController.GetAll都會(huì)HomeController損壞。而且,對(duì)于您當(dāng)前的代碼,如果 中存在一些異常PageController,您的ApiController代碼將會(huì)失敗。

您應(yīng)該注入repository來查詢數(shù)據(jù)。


查看完整回答
反對(duì) 回復(fù) 2023-09-09
  • 1 回答
  • 0 關(guān)注
  • 130 瀏覽

添加回答

舉報(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)