Notice
Recent Posts
Recent Comments
Link
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
Archives
Today
Total
관리 메뉴

브래의 슬기로운 코딩 생활

iOS프로그래밍 실무 9주차 정리 본문

2-1/iOS프로그래밍 실무

iOS프로그래밍 실무 9주차 정리

김브래 2023. 5. 3. 18:13

오늘은 지난주에 본 중간고사 성적을 확인 하고 

API에 대해 공부 했다.

 

내 중간고사 성적는 30점 만점에 29점 이었다.

만족스러운 결과긴 하지만 만점을 맞았다면 더 좋았을 것 같다는 생각이 들었다.

 

오늘은 거의 실습 위주로 수업해서 과제만 포스팅 하겠다.

 

- 과제 -

 

 

슈퍼 마리오 브라더스

드림

존 윅 4

스즈메의 문단속

옥수역귀신

리바운드

더 퍼스트 슬램덩크

렌필드

킬링 로맨스

무명

 

URLURI의 차이: URL은 해당 자원의 위치를 포함하는 인터넷 주소를 말하며, URI는 인터넷에서 자원을 식별하기 위한 문자열을 의미하는데, URLURI의 일종입니다.

 

// This file was generated from JSON Schema using quicktype, do not modify it directly.

// To parse the JSON, add this file to your project and do:

//

// let welcome = try? JSONDecoder().decode(Welcome.self, from: jsonData)

import Foundation

// MARK: - Welcome

class Welcome: Codable {

let boxOfficeResult: BoxOfficeResult

init(boxOfficeResult: BoxOfficeResult) {

self.boxOfficeResult = boxOfficeResult

}

}// MARK: - BoxOfficeResult

class BoxOfficeResult: Codable {

let boxofficeType, showRange: String

let dailyBoxOfficeList: [DailyBoxOfficeList]

init(boxofficeType: String, showRange: String, dailyBoxOfficeList: [DailyBoxOfficeList]) {

self.boxofficeType = boxofficeType

self.showRange = showRange

self.dailyBoxOfficeList = dailyBoxOfficeList

}

}// MARK: - DailyBoxOfficeList

class DailyBoxOfficeList: Codable {

let rnum, rank, rankInten: String

let rankOldAndNew: RankOldAndNew

let movieCD, movieNm, openDt, salesAmt: String

let salesShare, salesInten, salesChange, salesAcc: String

let audiCnt, audiInten, audiChange, audiAcc: String

let scrnCnt, showCnt: String

enum CodingKeys: String, CodingKey {

case rnum, rank, rankInten, rankOldAndNew

case movieCD = "movieCd"

case movieNm, openDt, salesAmt, salesShare, salesInten, salesChange, salesAcc, audiCnt, audiInten, audiChange, audiAcc, scrnCnt, showCnt

}

init(rnum: String, rank: String, rankInten: String, rankOldAndNew: RankOldAndNew, movieCD: String, movieNm: String, openDt: String, salesAmt: String, salesShare: String, salesInten: String, salesChange: String, salesAcc: String, audiCnt: String, audiInten: String, audiChange: String, audiAcc: String, scrnCnt: String, showCnt: String) {

self.rnum = rnum

self.rank = rank

self.rankInten = rankInten

self.rankOldAndNew = rankOldAndNew

self.movieCD = movieCD

self.movieNm = movieNm

self.openDt = openDt

self.salesAmt = salesAmt

self.salesShare = salesShare

self.salesInten = salesInten

self.salesChange = salesChange

self.salesAcc = salesAcc

self.audiCnt = audiCnt

self.audiInten = audiInten

self.audiChange = audiChange

self.audiAcc = audiAcc

self.scrnCnt = scrnCnt

self.showCnt = showCnt

}

}enum RankOldAndNew: String, Codable {

case old = "OLD"

}

 

 

RESTful APIRepresentational State Transfer(표현 상태 전송) 아키텍처 스타일을 따르는 웹 API입니다.

 

이는 HTTP 프로토콜을 기반으로 하며, 자원(URI)HTTP Method(GET, POST, PUT, DELETE )로 조작하여 해당 자원의 상태를 전송합니다.

 

, RESTful API는 자원을 URI로 식별하고, HTTP Method를 이용해 해당 자원의 CRUD(Create, Read, Update, Delete) 기능을 제공하는 웹 API를 말합니다.

 

또한, RESTful APIStateless하며, 클라이언트와 서버가 분리되어 있어 서로 독립적으로 개발될 수 있습니다. 이러한 특징으로 인해 RESTful API는 인터넷 기반의 분산 시스템에 적합하며, 대부분의 웹 API가 이 아키텍처 스타일을 따르고 있습니다.

 

인터페이스 일관성(Uniform interface)

URI를 보고 수행하는 동작을 알 수 있음

id와 리소스 이외의 정보를 URI에 넣으면 안됨

동사를 넣지 않고 명사만 사용