Skip to content

Commit

Permalink
feat/#135 제네릭 ResponseBodyDTO 구현 및 EmptyModel 구현
Browse files Browse the repository at this point in the history
  • Loading branch information
JinUng41 committed Jul 8, 2024
1 parent 022a1a9 commit d4ce589
Show file tree
Hide file tree
Showing 3 changed files with 62 additions and 0 deletions.
32 changes: 32 additions & 0 deletions KkuMulKum.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,8 @@
DE8248002C36E857000601BC /* ObservablePattern.swift in Sources */ = {isa = PBXBuildFile; fileRef = DE8247FF2C36E857000601BC /* ObservablePattern.swift */; };
DE9E18802C3BA4AA00DB76B4 /* CustomButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = DE9E187F2C3BA4AA00DB76B4 /* CustomButton.swift */; };
DE9E18842C3BA84500DB76B4 /* CustomTextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = DE9E18832C3BA84500DB76B4 /* CustomTextField.swift */; };
DE9E18892C3BC91000DB76B4 /* ResponseBodyDTO.swift in Sources */ = {isa = PBXBuildFile; fileRef = DE9E18882C3BC91000DB76B4 /* ResponseBodyDTO.swift */; };
DE9E188B2C3BC92500DB76B4 /* EmptyModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = DE9E188A2C3BC92500DB76B4 /* EmptyModel.swift */; };
DED5DBEC2C345210006ECE7E /* BaseViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = DED5DBEB2C345210006ECE7E /* BaseViewController.swift */; };
DED5DBEE2C34529A006ECE7E /* BaseView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DED5DBED2C34529A006ECE7E /* BaseView.swift */; };
DED5DBF02C345317006ECE7E /* BaseCollectionViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = DED5DBEF2C345317006ECE7E /* BaseCollectionViewCell.swift */; };
Expand Down Expand Up @@ -126,6 +128,8 @@
DE8247FF2C36E857000601BC /* ObservablePattern.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ObservablePattern.swift; sourceTree = "<group>"; };
DE9E187F2C3BA4AA00DB76B4 /* CustomButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CustomButton.swift; sourceTree = "<group>"; };
DE9E18832C3BA84500DB76B4 /* CustomTextField.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CustomTextField.swift; sourceTree = "<group>"; };
DE9E18882C3BC91000DB76B4 /* ResponseBodyDTO.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ResponseBodyDTO.swift; sourceTree = "<group>"; };
DE9E188A2C3BC92500DB76B4 /* EmptyModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EmptyModel.swift; sourceTree = "<group>"; };
DED5DBEB2C345210006ECE7E /* BaseViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BaseViewController.swift; sourceTree = "<group>"; };
DED5DBED2C34529A006ECE7E /* BaseView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BaseView.swift; sourceTree = "<group>"; };
DED5DBEF2C345317006ECE7E /* BaseCollectionViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BaseCollectionViewCell.swift; sourceTree = "<group>"; };
Expand Down Expand Up @@ -345,6 +349,7 @@
isa = PBXGroup;
children = (
DE8247FC2C36E7C7000601BC /* MoyaLoggingPlugin.swift */,
DE9E18852C3BC8F000DB76B4 /* DTO */,
);
path = Network;
sourceTree = "<group>";
Expand All @@ -366,6 +371,31 @@
path = Components;
sourceTree = "<group>";
};
DE9E18852C3BC8F000DB76B4 /* DTO */ = {
isa = PBXGroup;
children = (
DE9E18872C3BC90300DB76B4 /* Request */,
DE9E18862C3BC8F900DB76B4 /* Response */,
);
path = DTO;
sourceTree = "<group>";
};
DE9E18862C3BC8F900DB76B4 /* Response */ = {
isa = PBXGroup;
children = (
DE9E18882C3BC91000DB76B4 /* ResponseBodyDTO.swift */,
);
path = Response;
sourceTree = "<group>";
};
DE9E18872C3BC90300DB76B4 /* Request */ = {
isa = PBXGroup;
children = (
DE9E188A2C3BC92500DB76B4 /* EmptyModel.swift */,
);
path = Request;
sourceTree = "<group>";
};
DED5DBEA2C345202006ECE7E /* Base */ = {
isa = PBXGroup;
children = (
Expand Down Expand Up @@ -514,6 +544,7 @@
files = (
DED5DBF22C34534A006ECE7E /* BaseCollectionReusableView.swift in Sources */,
DED5DBEC2C345210006ECE7E /* BaseViewController.swift in Sources */,
DE9E188B2C3BC92500DB76B4 /* EmptyModel.swift in Sources */,
DDA2EE732C385EB9007C6059 /* MainTabBarController.swift in Sources */,
DE9E18842C3BA84500DB76B4 /* CustomTextField.swift in Sources */,
DD865B642C3920F000C351A2 /* LoginViewController.swift in Sources */,
Expand All @@ -532,6 +563,7 @@
DED5DBF42C34539A006ECE7E /* BaseTableViewCell.swift in Sources */,
78B9286E2C29402C006D9942 /* SceneDelegate.swift in Sources */,
DDA2EE792C385FCF007C6059 /* MyPageViewController.swift in Sources */,
DE9E18892C3BC91000DB76B4 /* ResponseBodyDTO.swift in Sources */,
DED5DBEE2C34529A006ECE7E /* BaseView.swift in Sources */,
DE9E18802C3BA4AA00DB76B4 /* CustomButton.swift in Sources */,
DE254AB02C31195B00A4015E /* NSAttributedString+.swift in Sources */,
Expand Down
10 changes: 10 additions & 0 deletions KkuMulKum/Network/DTO/Request/EmptyModel.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
//
// EmptyModel.swift
// KkuMulKum
//
// Created by 김진웅 on 7/8/24.
//

import Foundation

struct EmptyModel: Codable {}
20 changes: 20 additions & 0 deletions KkuMulKum/Network/DTO/Response/ResponseBodyDTO.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
//
// ResponseBodyDTO.swift
// KkuMulKum
//
// Created by 김진웅 on 7/8/24.
//

import Foundation

/// 제네릭 ResponseBody 구조체 정의
struct ResponseBodyDTO<T: Codable>: Codable {
let data: T?
let error: ErrorResponse?
}

/// 에러 응답 구조체 정의
struct ErrorResponse: Codable {
let code: Int
let message: String
}

0 comments on commit d4ce589

Please sign in to comment.