수업과 관련이 없지만 물을 곳이 없어...교수님께 여쭙니다..
357
작성한 질문수 7
dto랑 이미지 파일을 dio로 이용하여 post 하려는데 뭘해도 400, 415 등등 에러가 나옵니다 혹시 이유를 알 수 있을까요?... 수업내용이 아닌 질문 죄송합니다.
Future<void> postUser(UserInfo userDto, XFile? imageFile) async {
try {
// Dio 인스턴스 생성
Dio dio = Dio();
// 멀티파트 요청 생성
FormData formData = FormData();
// Add userDto as a JSON part
formData.fields.add(MapEntry('userDto', jsonEncode(userDto.toJson())));
// Add image file
if (imageFile != null) {
formData.files.add(MapEntry(
'image',
await MultipartFile.fromFile(imageFile.path),
));
}
// Dio를 사용하여 POST 요청 보내기
Response response = await dio.post(
'http://43.200.217.158:8080/bookstore-0.0.1-SNAPSHOT/user',
data: formData,
options: Options(
headers: {
"Content-Type": "multipart/form-data",
},
),
);
// 응답 확인
if (response.statusCode == 200) {
print("User Data sent successfully");
} else {
print('response.statusCode: ${response.statusCode}');
throw Exception("Failed to send data");
}
} catch (e) {
print("Failed to send post data: $e");
}
}
-------------------------------------------------------------------------------
서버 코드 스프링
@PostMapping(value = "/user", consumes = {MediaType.APPLICATION_JSON_VALUE, MediaType.MULTIPART_FORM_DATA_VALUE})
public ResponseEntity<ApiResponse> save(@RequestPart UserDto userDto, @RequestPart MultipartFile image) {
try {
log.info("유저 생성 입장!!");
Long save = userService.save(userDto, image);
return ResponseEntity.status(HttpStatus.OK).body(new ApiResponse("Created", "유저 생성 성공", save));
} catch (Exception e) {
log.error("e={}", e);
return ResponseEntity.status(HttpStatus.NOT_FOUND).body(new ApiResponse("NotFound", "유저 생성 실패", null));
}
}
답변 1
0
Postman 같은 툴로 서버에 똑같이 Post 요청을 해 보셨나요? 잘 되던가요?
어느쪽이 문제인지를 찾아야 할 것 같고, 경험상 서버를 직접 만들면서 발생하는 에러는 대부분 서버쪽 문제가 많았습니다.
415는 Unsupported Media Type 인데 미디어 타입이 맞지 않다고 하는 것 보면 서버 쪽에서 멀티파트를 받는 설정에서 뭔가 빠진 것은 없는지 확인해 보시기 바랍니다.
교수님이라고 하시는 걸 보면 언제 저에게 수업을 받았던 학생인가요?
그래프 그리기 위한 API가 프리미엄 요금제를 구독해야만 가능하다고 합니다...ㅜㅜ
0
74
2
api 제한량 25회
0
100
2
프로젝트 전체 소스코드
0
62
2
DTO 작성시 freezed 3.0 변경 부분 문의
0
167
2
클린아키텍처 의존관계 관련
0
215
2
mapper 생성 시...
0
168
1
강의에 있는 모든 freezed를 제거해도 되나요?
0
257
2
뷰모델 생성자로 리스트 불러오
0
219
1
개남님 질문있씁니다! company_listing_entitiy가 왜 엔티티 인가요?
0
198
1
안녕하세요 디버그 모드 관련 여쭤볼게 있어요
0
293
1
다음 로드맵 질문
0
346
1
csv_parser라는 abstract를 작성하는 필요성이 궁금합니다
0
404
1
repository에 관하여
0
357
1
강의 예시에 대한 답변이 궁금합니다.
0
360
1
flutter 실행 관련 질문드립니다.
0
1060
1
폴더 구조에 대해 질문드립니다.
0
819
1
Repository test 관련해 질문이 있습니다.
0
262
1
stock_repository_impl.dart 에러
0
269
2
viewModel에서 context를 받는 행위 질문
0
382
1
stockApi 질문 드립니다.
0
178
1
stockApi 질문
0
260
1
라이브 템플릿 영상
0
313
1
StockApi 메서드 반환 타입에 대해
0
281
1
entity와 domain의 차이
0
4505
1






