retrofit 요청 후 상태 코드
193
작성한 질문수 9
retrofit에서 요청 후에 인터셉터 이후에 UI 단에서 스낵바를 띄우기 위해 상태코드를 반환 받고 싶은데 Response타입을 반환 시키려면 파일을 임의로 수정해주어야 하더라고요 혹시 다른 방법이 있을까요?
@POST('/reservation')
@Headers({'Authorization': 'true'})
Future<Response<dynamic>> makeReservation({
@Body() required ReservationRequestModel reservation,
}); child: IconButton(
onPressed: () {
reservationRepositoryProvide
.getRepository()
.makeReservation(
reservation: ReservationRequestModel(
meetingRoomId: widget.room.id,
reservationStartTime: selectReservationTimeData
.selectedFullDate.value!
.add(1.seconds),
reservationEndTime: selectReservationTimeData
.selectedFullDate.value!
.add(const Duration(hours: 1)),
members: 4,
))
.then((res) {
if (res.statusCode == 201) {
context.showSnackbar(
message: '예약 완료 되었습니다. 마이페이지에서 확인해주세요', isSuccess: true);
} else {
final errorMessage = res.data['errorMessage'];
context.showSnackbar(
message: errorMessage, isSuccess: false);
}
});
},
현재 상태 코드를 반환 시켜 스낵바를 띄워주는데
아래처럼 retrofit 코드를 임의로 고쳐야하네요
@override
Future<Response<dynamic>> makeReservation(
{required ReservationRequestModel reservation}) async {
const _extra = <String, dynamic>{};
final queryParameters = <String, dynamic>{};
final _headers = <String, dynamic>{r'Authorization': 'true'};
_headers.removeWhere((k, v) => v == null);
final _data = <String, dynamic>{};
_data.addAll(reservation.toJson());
final _result = await _dio
.fetch<Map<String, dynamic>>(_setStreamType<Response<dynamic>>(Options(
method: 'POST',
headers: _headers,
extra: _extra,
)
.compose(
_dio.options,
'/reservation',
queryParameters: queryParameters,
data: _data,
)
.copyWith(
baseUrl: _combineBaseUrls(
_dio.options.baseUrl,
baseUrl,
))));
// final value = Response<dynamic>.fromJson(_result.data!);
return _result;
}다른 방법이 있을까요?
답변 1
0
안녕하세요!
생성 파일은 직접 수정하시면 안됩니다.
언제든지 재생성 할 수 있는 파일이기 때문입니다.
반환 타입을 Future<HttpResponse>로 변경해보세요!
관련 링크 첨부해드립니다.
감사합니다!
Isar 마지막 업데이트는 2년전입니다.
0
30
0
FlutterSecureStorage 질문
0
31
0
Dio onError Interceptor 만드는 부분에 질문이 있습니다.
0
79
2
관리자 기능에 대한 질문
0
100
2
part 'restaurant_model.g.dart';
0
92
1
36강. dio 인터셉터에 storage를 전달하는 코드가 이해 안되는데요. 도움 부탁드립니다.
0
56
2
2번 반환 상황 관련 질문
0
61
2
riverpod 3.0
0
139
2
Asset folder??
0
82
2
디자이너와 협업 시 프레임 크기 설정 관련 질문
0
113
2
FutureProvider, StateNotifierProvider 선택 기준
0
70
2
컴포넌트 모델화
0
64
2
쿼리 파라미터
0
84
2
화면 안보임
0
68
2
PaginationListView
0
54
1
강의중 37.Dio onErrorInterceptor 작업하기 dio 관련 질문입니다.
0
101
2
프로토타입이미지
0
62
2
여러 객체를 상태 관리하는 방법에 대한 질문
0
84
2
장바구니 결제하기 응답이 500이 옵니다.
0
105
2
removeFromBasket에서 await patchBasket()을 마지막에 하면 에러나는거 아닌가요?
0
67
2
이 두가지는 완전히 동일한 기능인가요?
0
106
3
내부 코드를 작성하지 않은 CursorPaginationLoading가 어떻게 로딩상태를 갖는지 잘 모르겠습니다...
0
77
2
_SplashScreenState에서 storage를 late로 호출해서 한번만 불러와도 되나요?
0
86
2
코딩 작성 순서 관련 질문
0
88
2





