Bagaimana untuk mengembalikan 401 dengan mesej tersuai?
P粉851401475
P粉851401475 2024-01-01 15:06:48
0
1
438

Dalam API Web saya, saya menangkap AuthenticationException yang dilemparkan oleh kaedah DoCdssLoginTests(...) dalam kes ini saya mengembalikan ralat 401, tetapi saya mahu dapat menggunakannya untuk menghantar mesej tersuai. < /p>

Ahli kandungan tidak tersedia dan saya tidak boleh mengatasi respons dengan ahli baharu.

Saya menjumpai benang ini tetapi ia tidak benar-benar melakukan apa-apa dalam kaedah saya kerana saya mengembalikan rentetan dan bukannya IHttpActionResult.

Saya boleh menyasarkan pengecualian .NET yang dilemparkan untuk "Tidak dibenarkan" atau "Tidak sah"

[ HttpGet ]
[ Route( "/DoCdssLoginTests" ) ]
public string DoCdssLoginTests( string sAdName )
{
    log.LogTrace( "AdStudentController::DoCdssLoginTests() - in" );
   
    try
    { 
        return studBll.DoCdssLoginTests( sAdName );
    }
    catch ( AuthenticationException ex )
    {
        Response.StatusCode = ( int ) HttpStatusCode.Unauthorized;
        //<--- I WANT TO SET A CUSTOM MESSAGE HERE TO BE RETURNED TO VUE CLIENT. - EWB
        return "N";
    }
    catch ( Exception ex )
    {
        throw;
    }

    return "OK";
}


P粉851401475
P粉851401475

membalas semua(1)
P粉567281015

ActionResult mesti dikembalikan sebelum Unauthorized() boleh dikembalikan seperti ini:

public ActionResult<string> DoCdssLoginTests(string sAdName)
{
    log.LogTrace("AdStudentController::DoCdssLoginTests() - in");
    try
    {
        return studBll.DoCdssLoginTests(sAdName);
    }
    catch (AuthenticationException ex)
    {
        return Unauthorized("Your custom message");
    }
    catch (Exception ex)
    {
        throw;
    }
    return "OK";
}
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!