Конечная точка webapi не получает значения целочисленного массива - PullRequest
0 голосов
/ 07 июля 2019

Я пытаюсь передать значения целочисленного массива в мою конечную точку веб-API asp.net из приложения angular 7. Однако параметр конечной точки равен нулю. Если вы видите ниже, объект результата получает вновь созданные идентификаторы после вставки, и я передаю значения этого объекта результата на сторону сервера. Я вижу объект результата, заполненный значениями. Может кто-нибудь сказать мне, почему конечная точка не получает массив целых чисел. Запрос к конечной точке выглядит примерно так

http://localhost:56888/api/documentupload/detailsByIds/121,124,125

угловой вызов конечной точки

 public createDocument() {
        const documents: IDocumentDetails[] = this.files.map(doc => {
            return { // notice just a curly bracket, and in the same line with 'return'
                file: doc.fileDropEntry.fileEntry,
                documentTypeId: doc.selectedDocumentItem.Id,
                name: doc.name,
                documentDate: doc.selectedDate
            };
        });
        this.documents = { managerStrategyId: 0, documentDetails: null };
        this.documents.managerStrategyId = this.ManagerStrategyId;
        this.documents.documentDetails = documents;

        this.documentUploadService.createDocumentUpload(this.documents)
            .then((result) => {
                if (result) {
                    this.getDocumentUploadDetailsByIds(result);
                    this.setGridOptions();
                    this.setColumns();
                    this.notify.success('Documents uploaded Successfully');
                }
            }).catch(err => {
                this.notify.error('An Error Has Occured While uploading the documents');
            });
    }


    public getDocumentUploadDetailsByIds(id) {
        if (this.ManagerStrategyId != null) {
            this.Loading = true;

            this.initGrid();
            this.documentUploadService.getDocumentUploadDetailsByIds(id)
                .subscribe(data => {
                    this.DocumentUploadDetails = data;
                    this.Loading = false;
               },
                    err => {
                        this.Error = 'An error has occurred. Please contact BSG';
                    },
                    () => {
                    });
        }
    }

getDocumentUploadDetailsByIds(documentIds: number[]) {
                return this.mgr360CommonService.httpGet('/api/documentupload/detailsByIds/' + documentIds);
              }    

asp.net webapi

[HttpGet]
        [Route("api/documentupload/detailsByIds/{id}")]
        public IHttpActionResult DetailsByIds(int[] id)
        {
            var viewModel = GetDocumentUploadDetailsByIds(id);
            return Ok(viewModel);
        }

   private DocumentUploadViewModel GetDocumentUploadDetailsByIds(int[] id)
        {
            var docVM = new DocumentUploadViewModel();
            var docSvc = GetViewService<V_DOCUMENT>();
            var docs = docSvc.Where(x => id.Contains(x.ID)).ToList();


            if (docs != null)
            {
                docVM.DocumentEntities.AddRange(docs.Select(x => new DocumentUploadEntities()
                {
                    DocumentId = x.ID,
                    DocumentName = x.NAME,
                    DocumentTypeId = x.DOCUMENT_TYPE_ID,
                    DocumentTypeName = x.DOCUMENT_TYPE_NAME,
                    ManagerStrategyId = x.MANAGERSTRATEGY_ID,
                    ManagerStrategyName = x.STRATEGY_NAME,
                    DocumentDate = x.DOCUMENT_DATE.HasValue
                        ? x.DOCUMENT_DATE.Value.ToString("MMM dd, yyyy")
                        : string.Empty,
                }).OrderBy(x => x.DocumentCreated));
            }

            return docVM;
        }
...