Notice
Recent Posts
Recent Comments
Link
투케이2K
509. (ios/swift5) [OkHttpClient] HTTP 통신 수행 라이브러리 사용해 Put Body Json 방식 요청 본문
IOS
509. (ios/swift5) [OkHttpClient] HTTP 통신 수행 라이브러리 사용해 Put Body Json 방식 요청
투케이2K 2024. 4. 19. 10:49[개발 환경 설정]
개발 툴 : XCODE
개발 언어 : SWIFT5
[소스 코드]
// -----------------------------------------------------------------------------------------
// MARK: - [테스트 메인 함수 정의 실시]
// -----------------------------------------------------------------------------------------
func testMain() {
S_Log._D_(description: "테스트 함수 시작 실시", data: nil)
/*
// -------------------------------------------------------
[요약 설명]
// -------------------------------------------------------
1. OkHttpClient 라이브러리는 Ios 에서 간편하게 HTTP 네트워크 통신을 할 수 있는 라이브러리입니다
// -------------------------------------------------------
2. 필요 import : import OkHttpClient
// -------------------------------------------------------
3. OkHttpClient 라이브러리 Git 공식 사이트 : https://github.com/rmichelberger/OkHttpClient/
// -------------------------------------------------------
4. 라이브러리 추가 방법 참고 사이트 : https://blog.naver.com/kkh0977/223420256050
// -------------------------------------------------------
*/
// [로직 처리 실시]
Task {
do {
// [HTTP 요청 주소 정의]
let url = "https://jsonplaceholder.typicode.com/posts/1"
// [OkHttpClient 생성]
let client = OkHttpClient()
// [URL 및 Request 정의]
let urls = URL(string: url)
var requests = URLRequest(url: urls!)
requests.httpMethod = "PUT"
requests.timeoutInterval = 30
requests.addValue("application/json", forHTTPHeaderField: "Content-Type")
requests.httpBody = "{\"userId\":1, \"id\":1, \"title\":\"foo\", \"body\":\"bar\"}".data(using: .utf8) // body 데이터 삽입
// [HTTP 요청 수행 및 리턴 확인]
let result: jsonStruct = try await client.execute(request: requests)
// [로그 출력 수행]
S_Log._D_(description: "HTTP 통신 로그 확인", data: [
"result :: \(result)"
])
}
catch {
S_Log._D_(description: S_FinalMsg.LOG_BUG_STATE, data: [
"catch :: \(error.localizedDescription)"
])
}
}
}
// -----------------------------------------------------------------------------------------
// MARK: - [HTTP 데이터 파싱 구조체 정의]
// -----------------------------------------------------------------------------------------
struct jsonStruct : Codable {
var userId : Int
var id : Int
var title : String
var body : String
// [구조체 생성자 초기화 실시]
init(userId: Int, id: Int, title: String, body: String){
self.userId = userId
self.id = id
self.title = title
self.body = body
}
}
[결과 출력]
반응형
'IOS' 카테고리의 다른 글
Comments