2016-07-04 5 views
0

私はASP.NET MVC5 Webアプリケーションを開発しています。プレゼンテーションレイヤーにCMSを備えた管理パネルを既に実装しているとします。管理者はすべてのCRUD操作に完全にアクセスできます。デュアルプレゼンテーションとレストサービスのためのASP.NET MVCの使用。

また、HttpGetリクエストでのみ動作するRestful APIを作成する必要があります。私は次の操作を行うことができます単に溶液中の別のWebAPIのベースのプロジェクトを作成したりする必要があります

RestfulController:コントローラ

public ActionResult MyAwesomeMethod(int id){ 
return Json(model, JsonRequestBehavior.AllowGet); 
} 

または私はあまりにもリクエストをHttpPostサポートする必要がある場合でも、その後、私は次の操作を行うことができます。

[HttpPost] 
public void MyBeautifulMethod(string name, string department){ 
//TODO staff with the data... 
} 

は、それがアプローチを許可または私はWebAPIのを使用する必要がありますか?

答えて

0

mvcコントローラを作成するときは、コントローラクラスからコントローラを継承しています。 web-apiコントローラを作成するとき、ApiControllerから継承します。だから私たちは同じコントローラにapiメソッドとアクションメソッドを置くことはできません。

しかし、mvcプロジェクトには、両方のタイプのコントローラを持つことができます。それは、あなたが同じプロジェクトまたは別のプロジェクトでWeb APIのコントローラを作成するために細かいことに依存します。

もし私が助けてくれたら、答えとしてマークしてください。

+0

ええ、私はコントローラとApiControllerの違いを理解しています。私の質問は、ControllerによってRestfulのHttpGetとHttpPostメソッドを実装できるかどうかです:ActionResult:Json? –

+0

親愛なるwebapiは、アクションメソッドからjsonを返す以外のものです。はい、アクションからjsonを返すことができます。 return Json(yourObject)を使用する必要があります。 –

関連する問題