alfinete
Power Member
boas tardes
estou com um problema num projecto rest web-api em .net
temos uma propriedade do service no json que é enviado no serviço rest com o nome
"$type"
e na nossa classe a propriedade tem o nome type
logo temos a jsonproperty com o nome da mesma em Json
aqui a questão é que quando ele entra no metodo NewService
e eu vou ver o valor de type ele vem nulo e devria vir com o valor que esta no Json
como posso resolver esta questão se no Json temos sempre de ter $type
e no c# não podemos Criar uma property com o nome $type
obrigado aguardo
classe Service
_______________________________________________________
função do controler
__________________________________________________________________________
Dados passados para o root da função acima
________________________________________________
estou com um problema num projecto rest web-api em .net
temos uma propriedade do service no json que é enviado no serviço rest com o nome
"$type"
e na nossa classe a propriedade tem o nome type
logo temos a jsonproperty com o nome da mesma em Json
aqui a questão é que quando ele entra no metodo NewService
e eu vou ver o valor de type ele vem nulo e devria vir com o valor que esta no Json
como posso resolver esta questão se no Json temos sempre de ter $type
e no c# não podemos Criar uma property com o nome $type
obrigado aguardo
classe Service
_______________________________________________________
Código:
public class Service
{
[DefaultValue("")]
[JsonProperty(PropertyName = "$type")]
public string type { get; set; }
[DefaultValue(null)]
public List<ApprovalRequest> ApprovalRequests { get; set; }
[DefaultValue("")]
public string CreationTimestamp { get; set; }
[DefaultValue(null)]
public List<ExternalReference> ExternalReferences { get; set; }
[DefaultValue(null)]
public List<Cost> IncurredCosts { get; set; }
[DefaultValue("")]
public string LastUpdateTimestamp { get; set; }
[DefaultValue(null)]
public List<MeasuredPerformance> MeasuredPerformances { get; set; }
[DefaultValue("")]
public string OperationalProcedureIdentifier { get; set; }
[DefaultValue(null)]
public List<PerformedAction> PerformedActions { get; set; }
[DefaultValue(null)]
public Location RequestedServiceLocation { get; set; }
[DefaultValue(null)]
public RequestedServiceProvider RequestedServiceProvider { get; set; }
[DefaultValue(null)]
public Party ServiceExecutor { get; set; }
[DefaultValue(null)]
public Party ServiceProvider { get; set; }
[DefaultValue(null)]
public Party ServiceRequestor { get; set; }
[DefaultValue("")]
public string Status { get; set; }
[DefaultValue(null)]
public StatusReason StatusReason { get; set; }
}
função do controler
__________________________________________________________________________
Código:
[DisableCors()]
[HttpPost]
[Route("Post/NewService")]
[BasicAuthentication]
public IHttpActionResult NewService(Service root)
{
// negocio
}
Dados passados para o root da função acima
________________________________________________
Código:
{
"$type":"Teste",
"Id":"1",
"CreationTimestamp":"2020-10-26T17:31:33.434Z",
"LastUpdateTimestamp":"2020-10-26T17:31:33.434Z",
"Status":"Requested"
}