diff --git a/accounts/__pycache__/urls.cpython-311.pyc b/accounts/__pycache__/urls.cpython-311.pyc index f37187a..ca48bc4 100644 Binary files a/accounts/__pycache__/urls.cpython-311.pyc and b/accounts/__pycache__/urls.cpython-311.pyc differ diff --git a/accounts/__pycache__/views.cpython-311.pyc b/accounts/__pycache__/views.cpython-311.pyc index 0064f72..06553f9 100644 Binary files a/accounts/__pycache__/views.cpython-311.pyc and b/accounts/__pycache__/views.cpython-311.pyc differ diff --git a/accounts/urls.py b/accounts/urls.py index 0492553..a34cb24 100644 --- a/accounts/urls.py +++ b/accounts/urls.py @@ -1,6 +1,6 @@ from django.urls import path, include -from accounts.views import SigninAPIView, AuthAPIView, FollowAPIView, UserinfoAPIView +from accounts.views import SigninAPIView, AuthAPIView, FollowAPIView, UserinfoAPIView, UserDetailAPIView urlpatterns = [ # path('', include('dj_rest_auth.urls')), @@ -9,4 +9,5 @@ path('auth/', AuthAPIView.as_view()), path('follow/', FollowAPIView.as_view()), path('info/', UserinfoAPIView.as_view()), + path('/', UserDetailAPIView.as_view()), ] \ No newline at end of file diff --git a/accounts/views.py b/accounts/views.py index 089b07d..a3688a5 100644 --- a/accounts/views.py +++ b/accounts/views.py @@ -166,7 +166,6 @@ def post(self, request): class UserinfoAPIView(APIView): # API 02-01 회원 정보 입력 - # BMI 계산 추가 @login_check def post(self, request): # User의 userinfo가 존재하는 지 확인 @@ -187,4 +186,23 @@ def post(self, request): if serializer.is_valid(): serializer.save() return Response(serializer.data, status=status.HTTP_200_OK) - return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST) \ No newline at end of file + return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST) + + + + +class UserDetailAPIView(APIView): + # user_id -> 해당 유저의 상세 정보 조회 + def get_object(self, pk): + return get_object_or_404(User, pk=pk) + + # API 02-02 회원 정보 조회 + def get(self, request, pk): + userinfo = Userinfo.objects.get(user_id=pk) + + # 계정 비공개 일 경우 + if userinfo.acc_visibility == 0: + return Response({'message': 'This account is Private account'}, status=status.HTTP_400_BAD_REQUEST) + + serializer = UserinfoSerializer(userinfo) + return Response(serializer.data, status=status.HTTP_200_OK) \ No newline at end of file