現在、reactjs JavaScript ファイルには次のものがあります
details.js const response = await fetch('users');
これにより、以下の MVC コントローラーが呼び出されます
UsersController.cs
private readonly ILogger_logger; public userController(ILogger ロガー) { _logger = ロガー; } [HTTPGet] public IEnumerable Get() { <ここにコードが入ります> }
問題は、fetch が Get メソッドを呼び出すことです。コントローラー内の他のメソッドを呼び出すにはどうすればよいですか? したがって、次のようなメソッドもあるとします。
[HttpPost] public IEnumerableUserDetails(string Id) { <ここにコードが入ります> } [HTTPポスト] public IEnumerable UserInfo(文字列名, 文字列ID) { <ここにコードが入ります> } [HTTPId] public IEnumerable UserId(string 名、string 姓、string companyId) { <ここにコードが入ります> }
details.js ファイルからこれらのメソッドを呼び出すにはどうすればよいですか?
次のような感じですか?
const response = await fetch('users/UserInfo'); ?
エンドポイント パラメーターについて .NET Framework に通知し、正しい HTTP メソッドを使用して呼び出しを行う必要があります。たとえば、コードを少し変更すると、UserDetails メソッドの Id パラメータを URL セグメントとして使用できます。 リーリー
HttpPost 属性は、これがPOSTエンドポイントであることを .NET Framework に伝えます。 HttpPost 属性の {Id} 部分に注目してください。これはプレースホルダーなので、エンドポイントを呼び出すときに実際の ID に置き換える必要があります。このエンドポイントを呼び出すには、HTTP POST リクエストを"users/123"エンドポイントに送信する必要があります。ここで、「123」の部分は {Id} プレースホルダーの代わりになります。以下に例を示します:リーリー
エンドポイント URL にはクエリ文字列パラメータを含めることもできます。たとえば、クエリ文字列パラメータを使用して UserInfo エンドポイントを呼び出す方法は次のとおりです:リーリー
FromQuery 属性を UserInfo メソッドの "name" パラメータに追加したことに注意してください。 FromQuery 属性は、URL に name という名前のクエリ文字列パラメーターを含める必要があることを .NET Framework に伝えます。エンドポイント URL は"users/123?name=john"になります。ここで、"123" は {Id} プレースホルダーの置換であり、name=john は "name" クエリ文字列パラメーターの割り当てです。 「ジョン」。