簡體   English   中英

通過與客戶端(MVC)一起使用Web API中的操作,通過遠程驗證來驗證數據庫中是否存在電子郵件?

[英]Verify if email exists in database with remote validation by consuming with the client (MVC) the action in the web API?

我有一個Web API(ASP.net),我想擁有2個客戶端(Xamarin和ASP.net MVC)。

我的Web API正常運行,我用Postman對其進行了測試。 我嘗試通過使用WebAPI向Web客戶端添加新用戶,並且該方法有效。 但是現在我想檢查用戶在表單中輸入電子郵件時數據庫中是否已經存在電子郵件。

我看到可以使用RemoteAttribute來做到這一點,但是這種解決方案對我不起作用。

我可以檢查API是否存在電子郵件。

    [AllowAnonymous]
    [HttpGet]
    public async Task<JsonResult<bool>> VerifyEmailAsync(string email)
    {
        var user = await UserManager.FindByEmailAsync(email);

        if (user == null)
        {
            return Json(false);
        }
        else
        {
            return Json(true);
        }
    }

我可以獲取true或false,但我不知道如何在MVC客戶端中使用它。

希望你能理解我的問題。

如果從VerifyEmailAsync方法返回布爾值(真/假),則是VerifyEmailAsync 如果將結果更改為Task<JsonResult>則遠程屬性將起作用

所以我建議 您可以像這樣返回http響應代碼;
資源已經存在時POST的HTTP響應代碼

因此,您將更接近Web api標准 但是,如果您有很多這樣的業務消息,則可以考慮使用json-envelope方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM