Rumah > Soal Jawab > teks badan
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粉5672810152024-01-02 11:11:36
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"; }