multipart/form-data를 전송하기 위해 form을 작성하던 중 어이없는 문제 때문에 몇 시간을 소비했는지 모르겠습니다. 다시는 이런 실수를 하지말아야겠다는 마음으로 글을 남겨봅니다.
request.setValue("multipart/form-data: boundary=\(boundary)", forHTTPHeaderField: "Content-Type")
request.setValue("multipart/form-data; boundary=\(boundary)", forHTTPHeaderField: "Content-Type")
혹시 차이가 보이시나요?
문제는 :
이었습니다. 이거 하나 때문에 몇 시간을 해맸는지 몰라요.. 업로드 버튼을 누르면 계속 400 에러가 뜨더라구요.
이 문제를 해결하기 위해서 가장 큰 도움이 된건 log를 찍는 것이었습니다!
// MARK: - Request Log
print("------------")
print(request.allHTTPHeaderFields)
print("------------")
print(request.httpMethod)
print("------------")
print(String(decoding: request.httpBody!, as: UTF8.self))
아직 로그활용을 잘 못해서...print로 requestbody의 header와 body를 찍어봤습니다.
찍어보다가 multipart/form-data 뒤에 ;
가 아니라 :
이 찍혀있더라구요 ㅠㅜ. 진작에 로그를 찍어봤으면 해결될 문제였는데 로그를 찍지 않아서 몇 시간을 날렸는지 모르겠어요.
다른건 몰라도 네트워크 작업을 할 때 로그는 필수인 것 같습니다~!!! 다시는 이런 실수 안해야지...