logger.info('A NSD(%s) has been created.' % data['id'])
         return data
 
-    def query_multiple(self):
-        ns_pkgs = NSPackageModel.objects.all()
+    def query_multiple(self, nsdId=None):
+        if nsdId:
+            ns_pkgs = NSPackageModel.objects.filter(nsdId=nsdId)
+        else:
+            ns_pkgs = NSPackageModel.objects.all()
         response_data = []
         for ns_pkg in ns_pkgs:
             data = self.fill_resp_data(ns_pkg)
 
             copy.deepcopy(self.expected_nsd_info)
         ]
         expected_reponse_data[0]['id'] = '0'
+        expected_reponse_data[0]['nsdId'] = '0'
         expected_reponse_data[1]['id'] = '1'
+        expected_reponse_data[1]['nsdId'] = '1'
 
         user_defined_data = json.JSONEncoder().encode(self.user_defined_data)
         for i in range(2):
                 onboardingState='CREATED',
                 operationalState='DISABLED',
                 usageState='NOT_IN_USE',
-                userDefinedData=user_defined_data
+                userDefinedData=user_defined_data,
+                nsdId=str(i)
             ).save()
 
         response = self.client.get('/api/nsd/v1/ns_descriptors', format='json')
         self.assertEqual(response.status_code, status.HTTP_200_OK)
         self.assertEqual(expected_reponse_data, response.data)
 
+        expected_reponse_data = [
+            copy.deepcopy(self.expected_nsd_info)
+        ]
+        expected_reponse_data[0]['id'] = '1'
+        expected_reponse_data[0]['nsdId'] = '1'
+        response = self.client.get('/api/nsd/v1/ns_descriptors?nsdId=1', format='json')
+        self.assertEqual(response.status_code, status.HTTP_200_OK)
+        self.assertEqual(expected_reponse_data, response.data)
+
     def test_query_single_nsd_normal(self):
         expected_reponse_data = copy.deepcopy(self.expected_nsd_info)
         expected_reponse_data['id'] = '22'
 
 
     if request.method == 'GET':
         try:
-            data = NsDescriptor().query_multiple()
+            nsdId = request.query_params.get("nsdId", None)
+            data = NsDescriptor().query_multiple(nsdId)
             nsd_infos = validate_data(data, NsdInfosSerializer)
             return Response(data=nsd_infos.data, status=status.HTTP_200_OK)
         except Exception as e: