λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
⭐ Personal_Study/Vue

drf-spectacular

by ν¬μŠ€νŠΈμ‰μ΄ν¬ 2022. 11. 24.

drf-spectacular

swagger

βœ” μŠ€μ›¨κ±°(swagger)λŠ” κ°œλ°œμžκ°€ REST μ›Ή μ„œλΉ„μŠ€λ₯Ό 섀계, λΉŒλ“œ, λ¬Έμ„œν™”, μ†ŒλΉ„ν•˜λŠ” 일을 λ„μ™€μ£ΌλŠ” μ˜€ν”ˆ μ†ŒμŠ€ μ†Œν”„νŠΈμ›¨μ–΄ ν”„λ ˆμž„μ›Œν¬
βœ” 즉, APIλ₯Ό μ„€κ³„ν•˜κ³  λ¬Έμ„œν™” ν•˜λŠ”λ° 도움을 μ£ΌλŠ” 라이브러리

λ‹€μ–‘ν•œ DRF API

βœ” μŠ€μ›¨κ±°(swagger)λ₯Ό 생성할 수 μžˆλ„λ‘ 도움을 μ£ΌλŠ” 라이브러리 -> drf-spectacular

drf-spectacular

βœ” Open API 3.0을 μ§€μ›ν•˜λŠ” DRF API OpenAPI 생성기

  1. μ„€μΉ˜ 및 등둝
$ pip install drf-spectacular

$ pip freeze > requirements.txt
# my_api/settings.py

INSTALLED_APPS = [
    'drf_spectacular'
]
  1. κΈ°λ³Έ μ„€μ •
# my_api/settings.py

REST_FRAMEWORK = {
    ...

    # spectacular Settings
    'DEFAULT_SCHEMA_CLASS': 'drf_spectacular.openapi.AutoSchema',
}

SPECTACULAR_SETTINGS = {
    'TITLE': 'Your Project API',
    'DESCRIPTION': 'Your project description',
    'VERSION': '1.0.0',
    'SERVE_INCLUDE_SCHEMA': False,
    # OTHER SETTINGS
}
  1. URL μ„€μ •
# articles/urls.py
from drf_spectacular.views import SpectacularAPIView, SpectacularSwaggerView
...


urlpatterns = [
    ...
    # ν•„μˆ˜ μž‘μ„±
    path('schema/', SpectacularAPIView.as_view(), name='schema'),
    # optional UI
    path('swagger/', SpectacularSwaggerView.as_view(url_name='schema'), name='swagger-ui'),
]
  1. κ²°κ³Ό 확인

'⭐ Personal_Study > Vue' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

DRF Auth with Vue  (0) 2022.11.23
DFR Auth System  (0) 2022.11.22
Vue with DRF  (0) 2022.11.21
Cross - Origin Resource Sharing (CORS)  (0) 2022.11.20
Vue with DRF: Server & Client  (0) 2022.11.20

λŒ“κΈ€