2017-05-07 3 views
-5

db에 객체를 추가하는 post 메소드가 있습니다. 하지만 아무 것도 추가하지 않으면 무엇을 반환해야합니까? 아약스 요청에서 처리해야합니다.post 메소드에서 db에 아무 것도 추가하지 않으면 어떤 HTTP 코드가 반환하나요?

+0

아무 것도 추가되지 않은 이유는 무엇입니까? – Ryan

+0

다음은 상태 코드의 전체 목록입니다. https://en.wikipedia.org/wiki/List_of_HTTP_status_codes –

+0

@ 라이언, 잘 모르겠습니다. 어쩌면 연결이 끊어 질 수도 있습니다. –

답변

1

상태 500 (서버 오류)이 나에게 가장 적합 할 것입니다.

  • 200 성공
  • 300 rediret
  • 당신은에, 나는 당신에 게시 개체를 추가하지 않았다

  • 400 클라이언트 오류 (나)
  • 500 서버 오류 (당신) db, 그래서 당신은 500을 반환합니다. 그런 식으로 오류를 잡을 수 있습니다. 포스트와 성공이 있었다하지 않는
    1. (200)를 반환하지 마십시오 : 조금 더 나은 상태 코드를 설명 할

      편집. 너는 결코 "작동하지 않았다"라는 메시지와 함께 200을 반환하고 싶지 않다

    2. 내가 잘못된 개체를 보내면 정보를 보내라. 400을 보내라.
    3. 끝 부분의 연결이 끊어 지거나 문제가 생기면 500 문을 삽입하는 것이 가장 적합 할 것입니다.

    기타 : 상태 코드와 함께 자세한 메시지를 보낼 수 있습니다. 그러나이 서비스를 사용하는 사용자에 따라 SQL 오류와 같은 정보를 노출 시키거나 보내지 않도록주의하십시오. 이유는 어떤 형태로 클라이언트에서 잘못된 데이터 인 경우

  • +0

    500 : _ 예기치 않은 조건 **이 발생하고 ** 더 이상 ** 메시지가 적합하지 않을 때 제공되는 일반 오류 메시지입니다 ._ 생각하지 않습니다. –

    +0

    특정 메시지와 함께 500을 보내는 것을 막을 수있는 방법은 없습니다. 메시지. 뭔가 잘못되어 실제로 "성공하지 못했습니다"라는 문구를 붙잡을 수 있다면 오류를 반환하는 것이 훨씬 낫습니다. 또한 포스터에서 연결이 끊어지는 사례가 503입니다. – Bergur

    +0

    예, _But OP가 쓴대로 아무것도 추가하지 않으면 무엇을 반환해야합니까? 그것은 반드시 내부 오류가 발생했음을 의미하지는 않습니다. –

    -1

    당신이 204 상태 코드 (204 개 ==> 내용 없음)

    +1

    오류가 아닌 데이터를 추가하지 않는 것이 의도적 인 경우에만. 또한 204는 클라이언트에 아무 것도 반환되지 않으며 반드시 데이터베이스에 아무 것도 추가되지 않았다는 것을 의미하지는 않습니다. – fiskeben

    +0

    JS에서이 사례를 식별 할 필요가 없습니까? 당신이 원하는 응답 헤더를 설정하고 더 많은 문제를 설명해야한다. –

    0

    를 사용해야합니다, 당신은 가장 가능성, 400 범위의 상태를 사용해야합니다 422. 이유가 백엔드의 일부 오류로 인한 경우 500 범위에서 사용해야합니다. 사용할 다양한 상태 코드가 있습니다. 당신은 그것들을 읽고 자신의 시나리오에 적용되는 것을 사용해야합니다.

    This is a good resource on HTTP statuses.

    1

    은 당신이 할 수있는 사용 사례 무엇인지에 따라 :

    새로운 개체가 조건을 위반 -> 그리고 일부와 함께 422 Unprocessable Entity을 반환 - 중 이미 (고유 제한 조건) 또는 다른 검증이

    존재 본문에 오류 메시지가 표시됩니다.

    당신은 서버 측 중복 제거를하고있는 - 당신이 정상적으로

    클라이언트 측에서 중복에 대한 새로운 객체를 전송하지 신경하려면 -> 하나, 모든 것이 OK입니다 즉 201 Created 척하고 응답으로 원래 기존의 객체를 반환 .아니면 원래 URL로 레코드 나에 새로 녹음 된 객체와 303 See other에 대한 201 Created와 국가 사이에 별개의 단지 204 No content

    을 기록 할 것으로 예상했다 무언가를 저장하는 동안 서버 측에서 예기치 않은 오류가 있습니다 - >500 Server Error