내가 삼항 응답을 양식 제출을 받아 생산하는 웹 서비스를 리디렉션 서비스 및 웹 사이트 콘텐츠는 2 개의 별개의 응용 프로그램이며 분리되어 있습니다.나타내는 성공/실패는
웹 서비스는 중 3 개 주에서 클라이언트에 표시되어야 구체적인 내용에 대한 지식이 없기 때문에, 대신에 숨겨진 폼 필드로 클라이언트가 제공 한 URL로 리디렉션에 의존해야합니다
<form action="http://localhost:8001/submissions" method="POST">
<input type="text" name="email" />
<input type="hidden" name="success" value="file:///thankyou.html" />
<input type="hidden" name="client_error" value="file:///client_error.html" />
<input type="hidden" name="server_error" value="file:///server_error.html" />
<input type="submit" value="Submit" />
</form>
응용 프로그램은 현재 30*
응답 코드로 작동합니다 (즉, 브라우저가 적절히 리디렉션 됨). 내 REST 모자 그러나
,, 그것은 40*
와 50*
에보다 의미있는 응답을 반환하고, 여전히 브라우저 리디렉션 가질 수 있습니다?
클라이언트 측에 비동기 기능을 추가하기를 원하기 때문에 터널링과 같은 냄새가있는 제공된 경로에 대해 리디렉션 위치를 확인하는 대신 요청 결과를 확인하는 것이 특히 유용합니다.
응답에 _one_ HTTP 상태 코드 만 포함 할 수 있습니다. REST는 브라우저에서 _direct_ 요청과 어떤 관련이 있습니까? API 호출을하거나, 주소 표시 줄을 통해 직접 자원을 요청하여 브라우저에 표시하십시오. 동시에 둘 다 나에게 거의 이해가되지 않습니다. (브라우저가 API와 직접 대화해야하는 이유는 알 수 없습니다.) – CBroe
그리고 서비스가 처음부터 _redirect_해야하는 이유를 알 수 없습니다. 서비스 범위 내에 오류가있는 경우 서비스는 직접 IMHO (오류 코드/상태 코드 및 첨부 된 응답 본문의 오류 메시지)로 응답해야합니다. 나는 여기에 리다이렉트를하는 것에는별로 의미가 없다. – CBroe