ASP Core ReactJS アプリで post を呼び出すにはどうすればよいですか?
P粉733166744
2023-08-17 17:23:05
<p>現在、reactjs JavaScript ファイルには次のものがあります</p>
<pre class="brush:php;toolbar:false;">details.js
const response = await fetch('users');</pre>
<p>これにより、以下の MVC コントローラーが呼び出されます</p>
<p>UsersController.cs</p>
<pre class="brush:php;toolbar:false;">private readonly ILogger<userController> _logger;
public userController(ILogger<userController> ロガー)
{
_logger = ロガー;
}
[HTTPGet]
public IEnumerable<user> Get()
{
<ここにコードが入ります>
}</pre>
<p>問題は、fetch が Get メソッドを呼び出すことです。コントローラー内の他のメソッドを呼び出すにはどうすればよいですか?
したがって、次のようなメソッドもあるとします。 </p>
<pre class="brush:php;toolbar:false;">[HttpPost]
public IEnumerable<user> UserDetails(string Id)
{
<ここにコードが入ります>
}
[HTTPポスト]
public IEnumerable<user> UserInfo(文字列名, 文字列ID)
{
<ここにコードが入ります>
}
[HTTPId]
public IEnumerable<user> UserId(string 名、string 姓、string companyId)
{
<ここにコードが入ります>
}</pre>
<p>details.js ファイルからこれらのメソッドを呼び出すにはどうすればよいですか? </p>
<p>次のような感じですか? </p>
<pre class="brush:php;toolbar:false;">const response = await fetch('users/UserInfo'); ?</pre>
エンドポイント パラメーターについて .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" クエリ文字列パラメーターの割り当てです。 「ジョン」。