我正在对整个后端程序包进行服务升级,以全面添加响应。
这会影响后端服务以及该服务的所有自定义客户端应用程序。因此,其想法是在部署时不要破坏它。
因此,我需要路由两个不同的API调用而不修改URL调用。 这个想法是创建一个自定义标头作为请求的一部分,并带有一个true / false值。
因此,示例API调用是此路由“ {base} / {source} / person / id”
这将返回一个基本人物对象。
但是,新要求是返回该人员对象,并在新对象内添加消息列表。
所以从这个
return person
到
return genericObjectWithMessages
其中genericObjectWithMessages包含并排的list和person对象的属性。
这可能吗?
[Route("{ID}")]
[HttpGet]
[HttpHeadAttribute("retrievemessages")=false]
public async Task<Person> RetrieveEntity(string id, string source)
{
return Person;
}
[Route("{ID}")]
[HttpGet]
[HttpHeadAttribute("retrievemessages")=true]
public async Task<genericObjectWithMessages> RetrieveEntity(string id, string source)
{
return genericObjectWithMessages
}
public GenericObjectWithMessages
{
Person aPerson {get;set;}
List<message> messages {get;set;}
}
P.S。这是根据不同版本等提出的要求,但未实现API版本控制。