Das schien mir so einfach, aber ich vermisse das Boot.MVC 6 Web Api Doppelter http Aktionen (Post)
Ich habe einen Controller, der zwei verschiedene Arten von POST-Aktionen behandelt.
[HttpPost("")]
public JsonResult Post([FromBody]Category mdl)
{ ... snip... }
[HttpPost("")]
public JsonResult Post([FromBody]SubCategory mdl)
{ ... snip... }
Der einzige Unterschied ist der Objektparameter in der Signatur. Anfangs dachte ich, das würde ausreichen, dass MVC in der Lage wäre zu unterscheiden, aber es scheiterte. Wenn ich das eine oder andere auskommentiert habe, funktioniert das unkommentierte. OK so ist, dann habe ich versucht, dies:
[HttpPost(Name = "UpdateCat")]
public JsonResult Post([FromBody]Category mdl)
{ ... snip... }
[HttpPost(Name = "UpdateSubCat")]
public JsonResult Post([FromBody]SubCategory mdl)
{ ... snip... }
Aber dies auch nicht einen Unterschied machen, nicht wahr? Also fing ich an zu googeln und bin auf dieses Problem gestoßen, aber es ist nicht das, wonach ich gesucht habe, da es sich um verschiedene HTTP-Aktionen handelt, die denselben Namen haben.
Is it possible to have duplicate action names and parameter list for post and get?
Was ich über den Umgang mit verschiedenen Post Aktionen bin Missverständnis?
Gibt es einen besonderen Grund, dass Sie nicht einfach eine der Methoden umbenennen können? –
No.Guess Ich sollte klarstellen, das ist ein akademisches Abenteuer für mich. Wenn ich umbenennen würde, wie würde es die API URL ändern? Angenommen, ich posten gerade auf localhost/api/test wäre es localhost/api/test/umbenanntepostmethod? – GPGVM
Sind die Unterkategorien in irgendeiner Weise mit einer Kategorie verknüpft? – Nkosi