У меня есть веб-API, встроенный в .NET 4.0, и у меня есть проблема с простым запросом GET. Моя проблема в том, что я хочу вернуть объект, у которого много свойств, некоторые строки, ints и другие пользовательские типы данных, а в некоторых случаях некоторые из этих свойств не существуют в databsae, поэтому я хочу, чтобы он возвращал объект empy {}
и У меня только null
.Как вернуть пустой объект вместо null в web api
Вот некоторые из моего кода
<ActionName("index")>
<HttpGet>
Public Function ObtenerAsegurado(<FromUri> rut As Integer) As Asegurado
Dim ws As New Getter2.GetterSoapClient
Dim aseg As Getter2.AseguradoDTO
aseg = ws.ObtenerAsegurado(rut)
Dim objAsegurado As Asegurado = Convertir.DTOToAsegurado(aseg)
Return objAsegurado
End Function
Public Shared Function DTOToAsegurado(asegDTO As Getter2.AseguradoDTO) As Asegurado
Dim aseg As New Asegurado
If Not asegDTO Is Nothing Then
...
aseg.cuenta = DTOToCuentas(asegDTO.Cuenta)
...
End If
Return aseg
End Function
Private Shared Function DTOToCuentas(cuentaDTO As Getter2.CuentaDTO) As Cuenta
Dim nuevacuenta As New Cuenta
If Not cuentaDTO Is Nothing AndAlso Not cuentaDTO.DescBanco Is Nothing Then
...
Else
nuevacuenta = Nothing
End If
Return nuevacuenta
End Function
Как вы можете видеть, мое действие вызов другой функции, чтобы сделать некоторые Перекодировка, и я вернуть свойство объекта, как ничто, когда там нет , который становится нулевым в ответе http, и вместо этого я хочу пустой объект. {}
Я также попытался вернуть nuevacuenta = New Cuenta
, но возвратил объект со всеми его свойствами, установленными в ничто ... Пожалуйста, помогите, как я могу вернуть пустой, а не null?
Когда я делаю это я получаю ошибку произнесения, потому что 'Object' тип не может быть преобразован в обычай' Cuenta' типа –
То, что вы хотите немного нестандартное. {} будет равно для экземпляра без свойства (или экземпляра типа объекта). Поэтому, если вы действительно этого хотите, я думаю, вы должны объявить тип свойства в модели вида как «объект». – hazjack