웹 애플리케이션 생성
νλ‘μ νΈλ κ±°μ λ°±μλλ§μΌλ‘ ꡬμ±λμ§ μμ΅λλ€. Linoλ₯Ό μ¬μ©νλ©΄ μμ±λ APIλ₯Ό μλΉνλ μΉ μ ν리μΌμ΄μ λ λ§λ€ μ μμΌλ©°, μ΅μ’ μ¬μ©μλ λ΄λΆ νμ μν μΈν°νμ΄μ€λ₯Ό μ 곡ν©λλ€.
νμ¬ νλ μμν¬λ Blazor Web App(interactive auto λ λλ§ λͺ¨λ)μ κΈ°λ³ΈμΌλ‘ μ§μν©λλ€.
κ·Έλ¬λ μν€ν
μ²λ λμΌν μ루μ
λ΄μμ μ¬λ¬ νλ‘ νΈμλλ₯Ό μΆκ°ν μ μλλ‘ μ€κ³λμ΄, λ€μν μλ리μ€μ μ¬μ©μ κ·Έλ£Ήμ λμν μ μμ΅λλ€.
Blazor Web Appλ₯Ό μ¬μ©νλ νλ‘ νΈμλ
νλ‘ νΈμλλ₯Ό μμ±ν λ Linoλ μλμΌλ‘ Blazor Web App νλ‘μ νΈλ₯Ό μμ±νλ©° λ€μκ³Ό κ°μ΄ ꡬμ±λ©λλ€:
- κ°μνλ λΌμ°ν β κΈ°λ³Έ λ΄λΉκ²μ΄μ κ΅¬μ‘°κ° μ΄λ―Έ ꡬμ±λμ΄ μμ.
- Minimal APIsμ λ€μ΄ν°λΈ ν΅ν© β μμ±λ μλν¬μΈνΈλ₯Ό μ§μ μ¬μ©.
- μ¬μ¬μ© κ°λ₯ν CRUD μ»΄ν¬λνΈ β λͺ©λ‘, μμ±, νΈμ§ νμ΄μ§κ° νμ€νλ¨.
- μΈμ¦ λ° κΆν λΆμ¬ μ§μ β μλΉμ€κ° 보μ μ€μ λ κ²½μ°.
μ΄ νλ‘ νΈμλλ μ΄λ―Έ μ ν리μΌμ΄μ λͺ¨λμμ μμ±λ APIλ₯Ό μλΉν μ μλλ‘ μ€λΉλμ΄ μμΌλ©°, κ°λ ₯ν νμ κ³Ό νμ νλ HttpClientλ₯Ό ν΅ν μλ ν΅ν©μ μ 곡ν©λλ€.
μ¬λ¬ νλ‘ νΈμλ
νλμ νλ‘μ νΈλ νμν λ§νΌμ νλ‘ νΈμλλ₯Ό ν¬ν¨ν μ μμ΅λλ€. κ° νλ‘ νΈμλλ μ루μ λ΄ μλ‘μ΄ Blazor νλ‘μ νΈλ‘ μΆκ°λλ©°, λ°±μλμμ λ ΈμΆνλ λμΌν APIλ₯Ό 곡μ ν©λλ€.
μλλ¦¬μ€ μμ:
- κ³΅κ° μ¬μ΄νΈ β κ³ κ° λλ λ°©λ¬Έμκ° μ κ·Ό κ°λ₯ν νμ΄μ§.
- λ°±μ€νΌμ€/κ΄λ¦¬ β μ΄μμ λλ κ΄λ¦¬νμ© λ΄λΆ κ΄λ¦¬ ν¨λ.
- ννΈλ ν¬νΈ β ννΈλ, 리μ λ¬ λλ 곡κΈμ 체 μ μ© μ κ·Ό.
μ΄λ¬ν λΆλ¦¬λ μΈν°νμ΄μ€ μ λ¬Ένλ₯Ό μ©μ΄νκ² νλ©΄μ API μ¬μ©μ λν μν€ν μ² μΌκ΄μ±μ μ μ§ν©λλ€.
μΉ νμ΄μ§ μμ±
μΈν°νμ΄μ€ κ°λ°μ κ°μννκΈ° μν΄, Lino CLIλ λ€μ λͺ λ Ήμ μ 곡ν©λλ€:
lino page new
μ΄ λͺ λ Ήμ λ°±μλμ μ΄λ―Έ μ°κ²°λ Blazor νμ΄μ§λ₯Ό μμ±νλ©°, μ ν΄μ§ κ·μΉμ λ°λ¦ λλ€:
- νΌ μ»΄ν¬λνΈ μμ± β μμ± λ° νΈμ§ νμ΄μ§.
- μλ λͺ©λ‘ β μΈλ±μ€ νμ΄μ§(νμ΄μ§λ€μ΄μ λ λͺ©λ‘).
- API μ§μ ν΅ν© β ν΄λΉ μλν¬μΈνΈμ μλ μ°κ²°.
μ΄λ₯Ό ν΅ν΄ μ 체 CRUD(νλ‘ νΈμλ β API β CQRS β λ°μ΄ν°λ² μ΄μ€)λ₯Ό μλ μ½λ λ°λ³΅ μμ΄ μμ±ν μ μμ΅λλ€.
μλ₯Ό λ€μ΄ Order μν°ν°μ© νμ΄μ§λ₯Ό μμ±νλ©΄ λ€μκ³Ό κ°μ κ΅¬μ‘°κ° λ§λ€μ΄μ§λλ€:
MyApp/
βββ src/
βββ WebApps/
βββ MySite/
βββ Services/
βββ Pages/
βββ Orders/
βββ Registration/
βββ Order.razor
βββ Order.razor.cs
βββ Components/
βββ Form/
β βββ OrderForm.razor
β βββ OrderForm.razor.cs
β βββ OrderFormExtensions.cs
β βββ OrderFormViewModel.cs
βββ Grid/
βββ OrderGrid.razor
βββ OrderGrid.razor.cs
βββ OrderGridExtensions.cs
βββ OrderPagedQueryParams.cs
λν OrdersEndpointsμ μλν¬μΈνΈλ₯Ό μλΉνκΈ° μν ν΅ν© μλΉμ€κ° μμ±λμ΄ μλ ν¬ μλ ν΅μ μ 보μ₯ν©λλ€:
νλ‘ νΈμλ β API β Commands/Queries β λ°μ΄ν°λ² μ΄μ€
μ΄λ₯Ό ν΅ν΄ Linoλ μ 체 μ€ν κ°λ° νλ¦μ μ 곡νλ©°, μλ‘μ΄ κΈ°λ₯μ μμ±νλ λ° νμν μκ°μ ν¬κ² μ€μ¬μ€λλ€.
