Обновление частичных данных в БД при получении данных должно считаться как GET или PUT запрос в REST API

Мой класс должен получать информацию о текущей песне из Spotify api.

class GetCurrentSong(APIView):
    def get(self, request):

        dict_song_info = get_song_from_spotify(user_session=self.request.session.session_key)

        if 'Error' in dict_song_info:
            return Response({dict_song_info['Error_Type']: dict_song_info['Error']}, status=dict_song_info['Status'])     

        # Update song name in database
        try:
            self.update_song_info_in_db(dict_song_info['name'])
        except Exception as ex:
            return Response({'Storage Error': 'Caanot persist current song info to database'}, status=status.HTTP_406_NOT_ACCEPTABLE)

        return Response(dict_song_info, status=status.HTTP_200_OK)
    

Помимо получения информации о песне и рендеринга на фронтенд, мне также нужно обновить данные о названии песни в БД перед рендерингом.

Мой вопрос: эта функция подразумевает обновление данных (не создание новых записей, а просто обновление существующей записи). Считается ли она все еще как "Get"? Или на самом деле, я должен использовать "PUT" для этой функции?

GET vs PUT - это семантика запроса, а не детали реализации.

Если я запрашиваю у вас текущую копию веб-страницы, это GET, даже если вашей реализации нужно загрузить информацию откуда-то еще и записать в собственный локальный кэш/базу данных.

Вернуться на верх