У меня есть структура, называемая PaginationInput
, и я хочу, чтобы она была необязательным параметром для действия веб-API.MVC - веб-API - необязательный параметр структуры
Определение метода заключается в следующем:
public Foo[] Get(bool includeInactive = false, PaginationInput pagination = default(PaginationInput))
Однако это приводит к ошибке, когда я не указываю pagination
при вызове API Действие:
{
"message": "The request is invalid.",
"messageDetail": "The parameters dictionary contains a null entry for parameter 'pagination' of non-nullable type 'SyncSoft.Capital.Web.REST.Models.PaginationInput' for method 'SyncSoft.Capital.Web.REST.Models.Entity.Member[] Get(Int32, Boolean, SyncSoft.Capital.Web.REST.Models.PaginationInput, System.String)' in 'SyncSoft.Capital.Web.REST.Controllers.Entities.MemberController'. An optional parameter must be a reference type, a nullable type, or be declared as an optional parameter."
}
Есть ли способ решить эту проблему не прибегая к тому, чтобы параметр pagination
был нулевым? (PaginationInput? pagination = null
)
РЕДАКТИРОВАТЬ:
Пример запроса:
http://localhost:65265/Foo/123/Bar?includeInactive=true
Сбой, но будет работать, если я поставил pagination
параметр в:
http://localhost:65265/Foo/123/Bar?includeInactive=true&pagination=10rows,page1
Попробуйте использовать '[FromUri]' для 'PaginationInput' на методе get –
@Div Без изменений. –
Показать пример запроса – Nkosi