Skip to content

baekteun/NeiSwift

Repository files navigation

NeiSwift

λ‚˜μ΄μŠ€ κ΅μœ‘μ •λ³΄ 개방 포털 Neis Open APIλ₯Ό Swiftμ—μ„œ κ°„νŽΈν•˜κ²Œ μ‚¬μš©ν•  수 μžˆλŠ” λΌμ΄λΈŒλŸ¬λ¦¬μž…λ‹ˆλ‹€.


Contents


Requirements

  • iOS 11.0+
  • macOS 11.0+
  • tvOS 11.0+
  • watchOS 4.0+

Overview

Neis Open APIλ₯Ό Swiftμ—μ„œ κ°„νŽΈν•˜κ²Œ μ‚¬μš©ν•  수 μžˆλŠ” λΌμ΄λΈŒλŸ¬λ¦¬μž…λ‹ˆλ‹€.


Installation

Swift Package Manager

Package.swift에 dependencies에 NeiSwiftλ₯Ό μΆ”κ°€ν•΄μ£Όμ„Έμš”.

dependencies: [
    .package(url: "https://github.com/baekteun/NeiSwift.git", .upToNextMajor(from: "2.0.0"))
]

Usage

λͺ¨λ“  μš”μ²­μ€ completion closure, Combine, Swift Concurrencyλ₯Ό μ§€μ›ν•©λ‹ˆλ‹€.

fetchAcaInsTiList

κ°œμ„€λ˜μ–΄μžˆλŠ” 학원 및 κ΅μŠ΅μ†Œμ˜ 학원λͺ…, νœ΄μ›μΌμž, λ“±λ‘μƒνƒœ, 정원, λΆ„μ•Ό, 계열 및 과정등을 확인할 수 있으며 μˆ˜κ°•λ£Œ κ³΅κ°œμ—¬λΆ€μ— 따라 μˆ˜κ°•λ£Œ λ‚΄μš©μ„ 확인할 수 μžˆμŠ΅λ‹ˆλ‹€. Neis Open APIμ—μ„œ APIλͺ…μ„Έμ„œλ₯Ό λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€.

let neis = Neis()
neis.fetchAcaInsTiList(request: .init(key:...))

fetchClassInfo

학ꡐλͺ… λ“±μ˜ 검색 쑰건을 μ„ νƒν•˜μ—¬ λ°˜μ •λ³΄λ₯Ό 검색할 수 μžˆμŠ΅λ‹ˆλ‹€. Neis Open APIμ—μ„œ APIλͺ…μ„Έμ„œλ₯Ό λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€.

let neis = Neis()
neis.fetchClassInfo(request: .init(key:...))

fetchElsTimeTable

μ΄ˆλ“±ν•™κ΅ 학년도, 학ꡐ, ν•™κΈ°, ν•™λ…„, 반, κ΅μ‹œλ³„ μ‹œκ°„ν‘œ μˆ˜μ—…λ‚΄μš©μ„ 확인할 수 μžˆλŠ” ν˜„ν™©μž…λ‹ˆλ‹€ Neis Open APIμ—μ„œ APIλͺ…μ„Έμ„œλ₯Ό λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€.

let neis = Neis()
neis.fetchElsTimeTable(request: .init(key:...))

fetchHisTimeTable

고등학ꡐ 학년도, 학ꡐ, 계열, ν•™κ³Ό, ν•™κΈ°, ν•™λ…„, κ°•μ˜μ‹€, κ΅μ‹œλ³„ μ‹œκ°„ν‘œ μˆ˜μ—…λ‚΄μš©μ„ 확인할 수 μžˆλŠ” ν˜„ν™©μž…λ‹ˆλ‹€. Neis Open APIμ—μ„œ APIλͺ…μ„Έμ„œλ₯Ό λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€.

let neis = Neis()
neis.fetchHisTimeTable(request: .init(key:...))

fetchMealInfo

ν•™κ΅μ—μ„œ μ œκ³΅ν•˜λŠ” ν˜„μž¬λ…„λ„ κΈ‰μ‹μ˜ μš”λ¦¬λͺ…, 원산지정보, μΉΌλ‘œλ¦¬μ •λ³΄, μ˜μ–‘μ •λ³΄ λ“±μ˜ μΌμžλ³„ ν˜„ν™©μž…λ‹ˆλ‹€.

  • μš”λ¦¬λͺ…에 ν‘œμ‹œλœ λ²ˆν˜ΈλŠ” μ•Œλ ˆλ₯΄κΈ°λ₯Ό μœ λ°œν• μˆ˜ μžˆλŠ” μ‹μž¬λ£Œμž…λ‹ˆλ‹€ (1.λ‚œλ₯˜, 2.우유, 3.λ©”λ°€, 4.땅콩, 5.λŒ€λ‘, 6.λ°€, 7.κ³ λ“±μ–΄, 8.게, 9.μƒˆμš°, 10.돼지고기, 11.λ³΅μˆ­μ•„, 12.ν† λ§ˆν† , 13.μ•„ν™©μ‚°μ—Ό, 14.ν˜Έλ‘, 15.λ‹­κ³ κΈ°, 16.μ‡ κ³ κΈ°, 17.μ˜€μ§•μ–΄, 18.쑰개λ₯˜(κ΅΄,전볡,홍합 λ“±))

Neis Open APIμ—μ„œ APIλͺ…μ„Έμ„œλ₯Ό λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€.

let neis = Neis()
neis.fetchMealInfo(request: .init(key:...))

fetchMisTimeTable

쀑학ꡐ 학년도, 학ꡐ, ν•™κΈ°, ν•™λ…„, 반, κ΅μ‹œλ³„ μ‹œκ°„ν‘œ μˆ˜μ—…λ‚΄μš©μ„ 확인할 수 μžˆλŠ” ν˜„ν™©μž…λ‹ˆλ‹€.

Neis Open APIμ—μ„œ APIλͺ…μ„Έμ„œλ₯Ό λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€.

let neis = Neis()
neis.fetchMisTimeTable(request: .init(key:...))

fetchSchoolDepartmentList

학ꡐ별 ν•™κ³Ό 정보λ₯Ό μ‘°νšŒν•  수 μžˆμŠ΅λ‹ˆλ‹€.

Neis Open APIμ—μ„œ APIλͺ…μ„Έμ„œλ₯Ό λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€.

let neis = Neis()
neis.fetchSchoolDepartmentList(request: .init(key:...))

fetchSchoolList

학ꡐ 기본정보에 λŒ€ν•œ 학ꡐλͺ…, μ†Œμž¬μ§€, μ£Όμ†Œ, μ „ν™”λ²ˆν˜Έ, ν™ˆνŽ˜μ΄μ§€μ£Όμ†Œ, 남녀곡학여뢀, 주야ꡬ뢄, κ°œκ΅κΈ°λ…μΌ 등을 확인할 수 μžˆλŠ” ν˜„ν™©μž…λ‹ˆλ‹€.

Neis Open APIμ—μ„œ APIλͺ…μ„Έμ„œλ₯Ό λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€.

let neis = Neis()
neis.fetchSchoolList(request: .init(key:...))

fetchSchulAflcoinfoList

학ꡐλͺ… λ“±μ˜ 검색 쑰건을 μ„ νƒν•˜μ—¬ 학ꡐ계열정보λ₯Ό 검색할 수 μžˆμŠ΅λ‹ˆλ‹€.

Neis Open APIμ—μ„œ APIλͺ…μ„Έμ„œλ₯Ό λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€.

let neis = Neis()
neis.fetchSchulAflcoinfoList(request: .init(key:...))

fetchSpsTimeTable

νŠΉμˆ˜ν•™κ΅ 학년도, 학ꡐ, ν•™κΈ°, ν•™λ…„, 반, κ΅μ‹œλ³„ μ‹œκ°„ν‘œ μˆ˜μ—…λ‚΄μš©μ„ 확인할 수 μžˆλŠ” ν˜„ν™©μž…λ‹ˆλ‹€.

Neis Open APIμ—μ„œ APIλͺ…μ„Έμ„œλ₯Ό λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€.

let neis = Neis()
neis.fetchSpsTimeTable(request: .init(key:...))

fetchTimeTableClassRoom

학ꡐλͺ… λ“±μ˜ 검색 쑰건을 μ„ νƒν•˜μ—¬ μ‹œκ°„ν‘œκ°•μ˜μ‹€ 정보λ₯Ό 검색 ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

Neis Open APIμ—μ„œ APIλͺ…μ„Έμ„œλ₯Ό λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€.

let neis = Neis()
neis.fetchTimeTableClassRoom(request: .init(key:...))