res.json ()을 사용할 때 mongoose에서 404 대신 내부 오류 500이 발생합니다.

스 네힐 쿠마르
import express from 'express'
import asyncHandler from 'express-async-handler'
import Product from '../models/productModel.js'
const router = express.Router() 

router.get('/',asyncHandler(async (req, res) => {
    const products = await Product.find({})

    res.json(products)
}))

router.get('/:id',asyncHandler(async (req, res) => {
    const product = await Product.findById(req.params.id).exec()
    
if(product)
{
    res.json(product)
}
else{
    res.status(404).json({message: 'Not found'})
}
}))

export default router

나머지 코드가 작동합니다. 그러나 의도적으로 잘못된 ID를 입력하면 오류 404가 표시되지 않습니다. 오류 부분은 이것입니다.여기에 이미지 설명 입력

이 오류 id는 캐스트 할 수없는 mongoose에 -value를 전달하기 때문에 발생하므로 ObjectId"Cast to ObjectId가 value에 대해 실패했습니다"라는 오류가 발생합니다. 다음 검사를 사용하여 유효하지 않은 object-id 전달을 방지하고 이에 따라이 경우를 처리 할 수 ​​있습니다. 예 :

import mongoose from "mongoose";

router.get('/:id',asyncHandler(async (req, res) => {
  if( !mongoose.isValidObjectId(req.params.id) ) {
    return res.status(404).json({message: 'Not found'});
  }
  // rest of the code
});

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Json을 MVC 컨트롤러에 전달할 때 500 내부 서버 오류가 발생합니다.

분류에서Dev

Servlet을 호출 할 때 500-내부 서버 오류가 발생합니다.

분류에서Dev

mysql에서 3 개의 테이블로 내부 조인을 사용할 때 오류가 발생했습니다.

분류에서Dev

Apache2에서 자체 서명 된 인증서를 사용할 때 .htaccess 파일을 사용하여 클라이언트에 HTTPS를 적용하려고 할 때 내부 500 오류가 발생합니다.

분류에서Dev

서버의 .erb 대신 로컬 드라이브의 .html 파일을 사용하여 요청을 제출할 때 라우팅 오류가 발생합니다.

분류에서Dev

Gviz의 IdeogramTrack을 사용하려고 할 때 내부 서버 오류가 발생합니다.

분류에서Dev

Java 8 및 Maven 3.2.3을 사용하여 코드를 컴파일하려고 할 때 내 댓글에 대해 이상한 오류가 발생합니다.

분류에서Dev

Java 8 및 Maven 3.2.3을 사용하여 코드를 컴파일하려고 할 때 내 댓글에 대해 이상한 오류가 발생합니다.

분류에서Dev

내 웹 사이트에서 파일을 업로드 할 때이 오류가 발생합니다.

분류에서Dev

httr get을 사용할 때 오류 401이 발생합니다.

분류에서Dev

명명 된 유형 (IdentityUser)을 사용할 때 오류가 발생하고 var에 할당 할 때 제대로 작동합니다. 이유는 무엇입니까?

분류에서Dev

Android GridLayoutManager 및 CustomAdapter에서 "this"를 사용하여 자신을 호출 할 때 오류가 발생합니다.

분류에서Dev

마이그레이션에서 table-> json ( 'options')을 시도 할 때 오류가 발생합니다.

분류에서Dev

대기자 명단 신청에 대기열을 사용하여 데이터를 표시 할 때 오류 발생

분류에서Dev

파이썬에서 json 문자열을 결합 할 때 구문 오류가 발생했습니다.

분류에서Dev

Cloud Run을 통해 대용량 파일을 다운로드 할 때 500 내부 서버 오류

분류에서Dev

슬래시를 추가 할 때 404 대신 500 오류가 발생 함

분류에서Dev

클래스에서 전역을 사용할 때 모듈 수준 전역을 반환하지 않고 대신 오류가 발생합니다.

분류에서Dev

서브 플롯이있는 Pandas에서 boxplot을 사용할 때 오류가 발생합니다.

분류에서Dev

내부 서버 오류 500이 발생할 때까지 TYPO3 크롤러가로드 중입니다.

분류에서Dev

내가 거기에 다른 경우 사용할 때 mysql에 대한 오류가 발생합니다.

분류에서Dev

`Row` 내부에서 ListTile을 렌더링 할 때`Failed assertion : line 1687 pos 12 : 'hasSize'` 오류가 발생합니다.

분류에서Dev

코드 숨김을 사용하여 Gridview에서 DropDownList에 대한 데이터 소스를 설정할 때 오류가 발생합니다.

분류에서Dev

delphide에서 동적 바이트 배열을 사용할 때 오류가 발생합니다.

분류에서Dev

파이썬에서 셀레늄 종료 기능을 사용할 때 Firefox 오류가 발생합니다.

분류에서Dev

htaccess를 사용할 때 404 오류가 발생합니다.

분류에서Dev

sum ()을 사용할 때 Pandas groupby에서 오류가 발생합니다.

분류에서Dev

html 양식을 사용할 때 서블릿 404 발견 오류

분류에서Dev

Visual Basic 2017에서 내 C # 양식에 대한 로그인 페이지를 만들고 있는데 올바른 자격 증명을 사용하여 로그인하려고 할 때마다 오류가 발생합니다.

Related 관련 기사

  1. 1

    Json을 MVC 컨트롤러에 전달할 때 500 내부 서버 오류가 발생합니다.

  2. 2

    Servlet을 호출 할 때 500-내부 서버 오류가 발생합니다.

  3. 3

    mysql에서 3 개의 테이블로 내부 조인을 사용할 때 오류가 발생했습니다.

  4. 4

    Apache2에서 자체 서명 된 인증서를 사용할 때 .htaccess 파일을 사용하여 클라이언트에 HTTPS를 적용하려고 할 때 내부 500 오류가 발생합니다.

  5. 5

    서버의 .erb 대신 로컬 드라이브의 .html 파일을 사용하여 요청을 제출할 때 라우팅 오류가 발생합니다.

  6. 6

    Gviz의 IdeogramTrack을 사용하려고 할 때 내부 서버 오류가 발생합니다.

  7. 7

    Java 8 및 Maven 3.2.3을 사용하여 코드를 컴파일하려고 할 때 내 댓글에 대해 이상한 오류가 발생합니다.

  8. 8

    Java 8 및 Maven 3.2.3을 사용하여 코드를 컴파일하려고 할 때 내 댓글에 대해 이상한 오류가 발생합니다.

  9. 9

    내 웹 사이트에서 파일을 업로드 할 때이 오류가 발생합니다.

  10. 10

    httr get을 사용할 때 오류 401이 발생합니다.

  11. 11

    명명 된 유형 (IdentityUser)을 사용할 때 오류가 발생하고 var에 할당 할 때 제대로 작동합니다. 이유는 무엇입니까?

  12. 12

    Android GridLayoutManager 및 CustomAdapter에서 "this"를 사용하여 자신을 호출 할 때 오류가 발생합니다.

  13. 13

    마이그레이션에서 table-> json ( 'options')을 시도 할 때 오류가 발생합니다.

  14. 14

    대기자 명단 신청에 대기열을 사용하여 데이터를 표시 할 때 오류 발생

  15. 15

    파이썬에서 json 문자열을 결합 할 때 구문 오류가 발생했습니다.

  16. 16

    Cloud Run을 통해 대용량 파일을 다운로드 할 때 500 내부 서버 오류

  17. 17

    슬래시를 추가 할 때 404 대신 500 오류가 발생 함

  18. 18

    클래스에서 전역을 사용할 때 모듈 수준 전역을 반환하지 않고 대신 오류가 발생합니다.

  19. 19

    서브 플롯이있는 Pandas에서 boxplot을 사용할 때 오류가 발생합니다.

  20. 20

    내부 서버 오류 500이 발생할 때까지 TYPO3 크롤러가로드 중입니다.

  21. 21

    내가 거기에 다른 경우 사용할 때 mysql에 대한 오류가 발생합니다.

  22. 22

    `Row` 내부에서 ListTile을 렌더링 할 때`Failed assertion : line 1687 pos 12 : 'hasSize'` 오류가 발생합니다.

  23. 23

    코드 숨김을 사용하여 Gridview에서 DropDownList에 대한 데이터 소스를 설정할 때 오류가 발생합니다.

  24. 24

    delphide에서 동적 바이트 배열을 사용할 때 오류가 발생합니다.

  25. 25

    파이썬에서 셀레늄 종료 기능을 사용할 때 Firefox 오류가 발생합니다.

  26. 26

    htaccess를 사용할 때 404 오류가 발생합니다.

  27. 27

    sum ()을 사용할 때 Pandas groupby에서 오류가 발생합니다.

  28. 28

    html 양식을 사용할 때 서블릿 404 발견 오류

  29. 29

    Visual Basic 2017에서 내 C # 양식에 대한 로그인 페이지를 만들고 있는데 올바른 자격 증명을 사용하여 로그인하려고 할 때마다 오류가 발생합니다.

뜨겁다태그

보관