私はこれをずっと見つめていたかもしれませんし、WebAPIの背後にある考え方を誤解しているかもしれませんが、ルーティングテーブルがCUSTOMIZEDアクション名に応答するようにする方法があるかどうかを調べています。たとえば、次のようにします。
// -> /api/student/studentRecord?studentId=1
[HttpGet]
public Student StudentRecord(int studentId){
//Do Something and return the Student Record
}
// -> /api/student/newStudent?name=john
[HttpPost]
public int NewStudent(String name){
//Do whatever and return the new id
}
私はここで何が欠けているのか、あるいはそれができるのかどうかさえわかりません。私はしばらくの間インターネットを精査してきましたが、それを理解できないようです。
webAPIのポイントは、各コントローラーにPUT、POST、GETなどを1つだけ持つことですか、それとも、やりたいことを実行できますか?
ルーティングをいじってみましたが、もっと悪くなったと思います!今何かを呼び出そうとするたびに、同じメソッドが呼び出されます。
これは私がルート設定ファイルに持っているものです:
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);