Voy a escribir una API relajante, mi requisito es llamar a métodos en el objeto "Transaction", me preguntaba cómo debería llamar a Post/PUT con la plantilla de URI adecuada para que pueda Cree/actualice el recurso Transaction sin usar "verbos" en el mapeo Uri.Plantilla de URI para POST/PUT restful service
[OperationContract]
[WebInvoke(Method = "POST", UriTemplate = "/Transaction/{**What to write here ????**}", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
public Transaction AddTransaction(Transaction transaction)
{
return AddTransactionToRepository(transaction);
}
[OperationContract]
[WebInvoke(Method = "PUT", UriTemplate = "/Transaction/{**What to write here ????**}", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
public Transaction UpdateTransaction(Transaction transaction)
{
return UpdateTransactionInRepository(transaction);
}
tenga en cuenta que quiero aplicar las mejores prácticas para la asignación de URI y no quiero “verbos” en él, sólo “sustantivos”. También dígame cómo el cliente tendrá acceso a estos métodos para publicar y colocar con un URI único. Gracias
Gracias Marcar por aclarar, estaba un poco confundido acerca de cómo el cliente lo comunicará de forma más legible, pero supongo que el cliente tiene que llamar a la misma URL pero especificando una acción diferente, es decir, publicar, poner, eliminar llamando al método Api. – MSUH
@MSUH Eso es correcto – VJAI
@Mark, ¿Por qué ambos métodos devuelven un objeto Transaction? Entiendo que el método POST podría necesitar esto, ya que el Id podría ser un número generado automáticamente en una base de datos, pero ¿por qué el método PUT? Gracias. – RobJohnson