브래의 슬기로운 코딩 생활
iOS프로그래밍 실무 9주차 정리 본문
오늘은 지난주에 본 중간고사 성적을 확인 하고
API에 대해 공부 했다.
내 중간고사 성적는 30점 만점에 29점 이었다.
만족스러운 결과긴 하지만 만점을 맞았다면 더 좋았을 것 같다는 생각이 들었다.
오늘은 거의 실습 위주로 수업해서 과제만 포스팅 하겠다.
- 과제 -
슈퍼 마리오 브라더스
드림
존 윅 4
스즈메의 문단속
옥수역귀신
리바운드
더 퍼스트 슬램덩크
렌필드
킬링 로맨스
무명
URL과 URI의 차이: URL은 해당 자원의 위치를 포함하는 인터넷 주소를 말하며, URI는 인터넷에서 자원을 식별하기 위한 문자열을 의미하는데, URL은 URI의 일종입니다.
// 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 API는 Representational State Transfer(표현 상태 전송) 아키텍처 스타일을 따르는 웹 API입니다.
이는 HTTP 프로토콜을 기반으로 하며, 자원(URI)을 HTTP Method(GET, POST, PUT, DELETE 등)로 조작하여 해당 자원의 상태를 전송합니다.
즉, RESTful API는 자원을 URI로 식별하고, HTTP Method를 이용해 해당 자원의 CRUD(Create, Read, Update, Delete) 기능을 제공하는 웹 API를 말합니다.
또한, RESTful API는 Stateless하며, 클라이언트와 서버가 분리되어 있어 서로 독립적으로 개발될 수 있습니다. 이러한 특징으로 인해 RESTful API는 인터넷 기반의 분산 시스템에 적합하며, 대부분의 웹 API가 이 아키텍처 스타일을 따르고 있습니다.
인터페이스 일관성(Uniform interface)
URI를 보고 수행하는 동작을 알 수 있음
id와 리소스 이외의 정보를 URI에 넣으면 안됨
동사를 넣지 않고 명사만 사용
'2-1 > iOS프로그래밍 실무' 카테고리의 다른 글
iOS프로그래밍 실무 11주차 정리 (0) | 2023.05.17 |
---|---|
iOS프로그래밍 실무 10주차 정리 (0) | 2023.05.10 |
iOS 프로그래밍 실무 중간고사 정리 (0) | 2023.04.22 |
iOS 프로그래밍 실무 7주차 정리 (0) | 2023.04.19 |
iOS프로그래밍 실무 6주차 정리 (0) | 2023.04.12 |