簡體   English   中英

在獲取數據時更新數據庫中的部分數據應計為 REST API 中的 GET 或 PUT 請求

[英]Updating partial data in DB while fetching data should count as GET or PUT request in 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)
    

除了獲取歌曲信息並渲染到前端之外,我還需要在渲染之前更新 DB 中的歌曲名稱數據。

我的問題是:此功能涉及數據更新(不創建新條目,僅更新現有數據記錄)。 它仍然算作“獲取”嗎? 或者實際上,我應該為這個功能使用“PUT”?

GET 與 PUT 是關於請求的語義,而不是實現的細節。

如果我要求您提供網頁的當前副本,那就是 GET,即使您的實現需要從其他地方下載信息並寫入您自己的本地緩存/數據庫。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM