액션 메소드에 내 경로 템플릿은 뭔가 다음과 같다 :오류 메시지 2
[Route("{select:bool=false}")]
및 방법 서명이 공공 INT getMethod 메소드 (부울 선택) {}
입니다 질문 1 :
다음 URL을 사용하여 위의 엔드 포인트를 소비합니다. 나는 부울 매개 변수에 문자열 값을 전달하고
http://localhost/api/controller?select=lskdfj
나는 다음과 같은 응답을 얻을 :
{
"Message": "The request is invalid.",
"MessageDetail": "The parameters dictionary contains a null entry for parameter 'select' of non-nullable type 'System.Boolean' for method 'int GetMethod(Boolean)' in '**ProjectName.Controllers.ControllerName**'. An optional parameter must be a reference type, a nullable type, or be declared as an optional parameter."
}
대신에 프로젝트 이름을 보여주는 컨트롤러 이름 위 또한 우리의 코드의 자세한 사항이며, 메시지에 세부 정보가 있습니다. 소비자/고객에게 맞춤 메시지를 표시하고 싶습니다.
할 방법이 있습니까?
질문 2 :
나는 다음과 같은 URL을 사용하여 엔드 포인트 이상 소모하고있다. 잘못된 매개 변수 이름을 지정하여 전달 중입니다.
http://localhost/api/controller? selt = true
오류를 발생시키지 않고 오류를 throw하는 대신 select의 기본값 인 false를 사용합니다.
제공되는 매개 변수 (selt)가 잘못되었다는 오류 메시지를 클라이언트에 던지는 방법은 무엇입니까? 대신 우리의 코드의 자세한 사항이며, 또한 위의 메시지가 자세한 내용을 프로젝트 이름, 컨트롤러 이름을 보여주는
고맙습니다. @ 코딩 요시. 옵션 1의 경우 : 내부 디버깅 목적으로 오류 메시지를 기록하지만 클라이언트에 표시하지 않는 방법이 있습니까? – Vicky
@vicky 예. '로컬'을 사용하면 사이트가 배포 된 동일한 컴퓨터에서 로컬로 요청한 정보 만 세부 정보를 볼 수 있습니다. – CodingYoshi