👩‍💻 개발/⚙️ BACKEND

    [Spring/Batch] Step간 변수 공유 - ExecutionContext

    https://zzang9ha.tistory.com/429 Spring Batch (6) ExecutionContext📎 ExecutionContext 지난 시간에는 Step, StepExecution에 대해 살펴보았습니다. 이번 시간에는 JobExecution 및 StepExecution 객체에 존재하는 ExecutionContext에 대해 살펴보겠습니다. (예제 코드는 GitHub에서 확인zzang9ha.tistory.comhttps://jojoldu.tistory.com/490 JobParameter 활용 방법 (feat. LocalDate 파라미터 사용하기)Spring Batch에서는 Spring Environment Variables (환경 변수) 외에 Batch에서만 사용할 수 있는 JobP..

    [Django] dj-rest-auth Custom

    후딱 개발하고자 필자는 dj-rest-auth를 사용하였다! 필요한 필드를 추가 및 제거하기 위해 필자는 custom을 해줬다! 1. Register 필드 추가 회원 가입 시 필드를 추가해 줘야 했다. (필수 필드) # api/serializers.py class RegisterCustomSerializer(RegisterSerializer): # 기본 설정 필드: username, password, email # 추가 설정 필드: team, part team = serializers.CharField() part = serializers.CharField() def get_cleaned_data(self): data = super().get_cleaned_data() data['team'] = self..

    [Django] DRF JWT 회원가입, 로그인 기능/ dj-rest-auth

    [Django] DRF JWT 회원가입, 로그인 기능/ dj-rest-auth

    Simple-jwt로 회원가입 기능을 직접 구현할 수 있지만 필자는 빠르고 신속하게 구현하기 위해 dj-rest-auth를 사용하여 구현했다. 간단한 커스텀은 이후 포스팅에 기록할 예정! 또한 장고 설치 및 구성은 패스하고 dj-rest-auth 관한 내용만 정리하겠다. setting.py 추가 INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', # my-app 'api', # third party 'rest_framework', # a..

    [Django] DRF Method Override 방법

    [Django] DRF Method Override 방법

    세부적인 컨트롤을 위해서는 Override 하여 나에 맞게 수정해주는 작업이 필요하다. 필자는 ModelViewSet을 사용했기 때문에 이를 예시로 들어보고자 한다! * ModelViewSet 은 GET, POST가 아닌 아래와 같은 action을 제공함 .list() = GET , all .retrieve() = POST .create() = GET , one .update() = PUT .partial_update() = PUT .destroy() =DELETE 기본 ModelViewSet은 아래와 같다. class UserViewSet(viewsets.ModelViewSet): serializer_class = UserSerializer queryset = User.objects.all() 위의 a..

    [Django] ViewSet , Router

    [Django] ViewSet , Router

    Django 공식문서 일반적으로 REST API를 구현할 때 ListAPI 와 DetailAPI 을 구현한다. 이때 List API는 GET, POST 메서드를 구현하며 Detail API는 GET, PUT, DELETE메서드를 구현한다. DRF의 ViewSet은 2개의 URL별로 구현된 5개의 메서드를 단 하나의 클래스에 제공하며 다시 말해 하나의 헬퍼 클래스로 두 개 이상의 URL처리를 가능하게 해 준다. ViewSet은 일반적이 api와 달리 get(), post()와 같은 메서드 핸들러는 제공하지 않으나 list(), create()와 같은 액션을 제공한다. (단, 똑같이 Get, Post로 요청을 보내줘야 함.) class UserViewSet(viewsets.ViewSet): def list(..