swsnu / swppfall2020

28 stars 17 forks source link

[HW4] JsonResponse와 HttpResponse의 차이에 대해 질문드립니다. #185

Open KimJonghoSNU opened 4 years ago

KimJonghoSNU commented 4 years ago

안녕하세요, 과제 스펙을 다시 검토하던 중 의문이 생겨 질문드립니다.

"When the server successfully handles a request, it responds with a JSONResponse for GET (except api/signout) and responds with a HTTPResponse for POST, PUT, and DELETE." 에서 왜 HttpResponse라고 명시되어 있는지 잘 이해가 가지 않습니다.

Jsonresponse를 사용하는 이유가 아래와 같이 HttpResponse에 json을 전달하기 위함이라고 알고 있는데요,

"Since version 1.7, Django counts with the built-in JsonResponse class, which is a subclass of HttpResponse. Its default Content-Type header is set to application/json, which is really convenient. It also comes with a JSON encoder, so you don’t need to serialize the data before returning the response object."

과제 스펙에서는 Posted article (with it's assigned id) should be included in response's content as JSON format. 이렇게 제시되어 있습니다.

그렇다면 Json format으로 serialize 해서 Httpresonse할 필요 없이 JsonResponse를 return 해도 되는 것 아닌가요? 위에 적힌 대로 HttpResponse를 리턴하지 않고 JsonResponse를 리턴하면 문제가 발생하는지 질문드립니다.

kooyunmo commented 4 years ago

JsonResponse를 사용해도 상관 없습니다. Response의 json 데이터 값만 올바르면 됩니다.

KimJonghoSNU commented 4 years ago

감사합니다!