Browse Source

Merge pull request #21115 from abpframework/ConventionalRouteBuilder

Check if id parameter can convert from `string`.
pull/21117/head
Engincan VESKE 2 years ago
committed by GitHub
parent
commit
aad0d989f6
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 6
      framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/Conventions/ConventionalRouteBuilder.cs

6
framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/Conventions/ConventionalRouteBuilder.cs

@ -1,4 +1,5 @@
using System; using System;
using System.ComponentModel;
using System.Linq; using System.Linq;
using System.Reflection; using System.Reflection;
using Microsoft.AspNetCore.Mvc.ApplicationModels; using Microsoft.AspNetCore.Mvc.ApplicationModels;
@ -35,7 +36,8 @@ public class ConventionalRouteBuilder : IConventionalRouteBuilder, ITransientDep
var idParameterModel = action.Parameters.FirstOrDefault(p => p.ParameterName == "id"); var idParameterModel = action.Parameters.FirstOrDefault(p => p.ParameterName == "id");
if (idParameterModel != null) if (idParameterModel != null)
{ {
if (TypeHelper.IsPrimitiveExtended(idParameterModel.ParameterType, includeEnums: true)) if (TypeHelper.IsPrimitiveExtended(idParameterModel.ParameterType, includeEnums: true)
|| TypeDescriptor.GetConverter(idParameterModel.ParameterType).CanConvertFrom(typeof(string)))
{ {
url += "/{id}"; url += "/{id}";
} }
@ -156,4 +158,4 @@ public class ConventionalRouteBuilder : IConventionalRouteBuilder, ITransientDep
{ {
return secondaryId.ParameterName; return secondaryId.ParameterName;
} }
} }

Loading…
Cancel
Save