Skip to content

Commit 576f7c6

Browse files
committed
修复ArrayModelBinder的BUG
1 parent 8d11886 commit 576f7c6

File tree

2 files changed

+6
-8
lines changed

2 files changed

+6
-8
lines changed

Routine/Routine.APi/Controllers/CompanyCollectionsController.cs

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -34,14 +34,12 @@ public async Task<IActionResult> GetCompanyCollection([FromRoute]
3434
{
3535
return BadRequest();
3636
}
37-
var entities = await _companyRepository.GetCompaniesAsync(ids);
38-
39-
//这个写法有 BUG,ids.Count() 返回的居然是 Query 字符串长度
40-
//if (ids.Count() != entities.Count())
41-
//{
42-
// return NotFound();
43-
//}
4437

38+
var entities = await _companyRepository.GetCompaniesAsync(ids);
39+
if (ids.Count() != entities.Count())
40+
{
41+
return NotFound();
42+
}
4543
var dtosToReturn = _mapper.Map<IEnumerable<CompanyDto>>(entities);
4644
return Ok(dtosToReturn);
4745
}

Routine/Routine.APi/Helpers/ArrayModelBinder.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ public Task BindModelAsync(ModelBindingContext bindingContext)
3333
var converter = TypeDescriptor.GetConverter(elementType);
3434
var values = value.Split(new[] { "," }, StringSplitOptions.RemoveEmptyEntries)
3535
.Select(x => converter.ConvertFromString(x.Trim())).ToArray();
36-
var typedValues = Array.CreateInstance(elementType, value.Length);
36+
var typedValues = Array.CreateInstance(elementType, values.Length);
3737
values.CopyTo(typedValues, 0);
3838
bindingContext.Model = typedValues;
3939
bindingContext.Result = ModelBindingResult.Success(bindingContext.Model);

0 commit comments

Comments
 (0)