올바른 URL을 사용하는 Postman의 두 번째 GET 요청이 항상 첫 번째 요청을 실행하고 오류 메시지와 함께 응답을 반환하는 이유는 무엇입니까?
P粉311617763
P粉311617763 2023-08-17 11:53:17
0
1
450
<p>두 개의 GET 요청이 있지만 Postman에서 올바른 URL로 두 번째 GET 요청을 누르면 항상 첫 번째 요청이 실행되고 첫 번째 요청의 응답이 제공됩니다. 최적화 문제</p> <pre class="brush:php;toolbar:false;">router.get( "/:ID", [인증], usersController.getUser ); 라우터.get( "/모든 사용자", [인증], usersController.getAllUser );</pre> <p>사용자 컨트롤러 파일 및 관련 방법</p> <pre class="brush:php;toolbar:false;">exports.getUser = async (req, res) => const id = req.params.id; 노력하다 { 결과 = userService.getUserAccount(id)를 기다리십시오; 만약 (결과) { const resultWithoutPassword = {...결과}; 결과WithoutPassword.password 삭제; return res.status(HttpCodes.OK).send(resultWithoutPassword); } //console.error("오류: 찾을 수 없습니다."); return res.status(HttpCodes.NOT_FOUND).send(AppMessages.USER_NOT_FOUND); } 잡기(오류) { res.status(HttpCodes.INTERNAL_SERVER_ERROR).json(을 반환합니다. { 오류: AppMessages.INTERNAL_SERVER_ERROR, 메시지: "Id는 정수여야 합니다." }); } } 노력하다{ 결과 = userService.getAllUserAccounts()를 기다리십시오. res.status(httpCodes.OK).json(결과)를 반환합니다. } 잡기(오류){ 반품 res.status(httpCodes.INTERNAL_SERVER_ERROR).json({ERROR: AppMessages.INTERNAL_SERVER_ERROR}); } }</pre> <p><br /></p>
P粉311617763
P粉311617763

모든 응답(1)
P粉208469050

Express.js 라우팅을 사용할 때 Postman에서 두 가지 다른 GET 요청을 할 때 예기치 않은 동작이 발생하는 것 같습니다. 구체적으로 두 번째 경로(/allUser)에 요청을 보내면 첫 번째 경로(/:id)로부터 응답을 받습니다. 이 동작은 귀하의 기대와 일치하지 않습니다.

문제 해결을 위해 확인할 수 있는 사항은 다음과 같습니다.

라우팅 순서: 익스프레스 라우터의 라우팅 순서가 올바른지 확인하세요. 경로는 정의된 순서대로 일치됩니다. /:id 경로가 /allUser 경로보다 먼저 정의된 경우 /allUser 경로로 전송되어야 하는 요청을 포착할 수 있습니다. 원하는 경우 경로 순서를 바꿀 수 있습니다.

경로 매개변수 충돌: /:id 경로에 정의된 매개변수가 /allUser 경로의 가능한 값과 충돌하지 않는지 확인하세요. 예를 들어 /:id와 같은 와일드카드 매개변수를 사용하는 경우 실수로 "allUser" 문자열과 일치하여 잘못된 경로를 트리거할 수 있습니다. 필요한 경우 경로 매개변수를 수정하여 보다 구체적으로 만들 수 있습니다.

경로 미들웨어: 경로에 적용되어 예상치 못한 동작을 일으킬 수 있는 미들웨어가 있는지 확인하세요. 이 경우 [auth] 미들웨어가 라우팅 처리 방법에 영향을 미칠 수 있습니다. 미들웨어가 라우팅의 정상적인 동작을 방해하지 않는지 확인하십시오.

라우팅 경로 중복: 라우팅 경로가 서로 다르며 겹치지 않는지 다시 확인하세요. 예를 들어 경로 경로가 /allUser 및 /:id인 경우 Express는 들어오는 요청을 이러한 경로와 일치시키는 데 모호함이 없어야 합니다.

더 명확하게 경로 정의를 조정하는 방법은 다음과 같습니다.

으아악

전체 코드와 컨텍스트를 보지 않고는 문제를 정확히 찾아내기 어렵다는 점을 명심하세요. 그러나 이러한 일반적인 문제 해결 단계는 문제를 식별하고 해결하는 데 도움이 됩니다.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿