C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#ASP.NETWebAPIで特定のHTTP動詞を持つメソッドへのアクセスを制限するにはどうすればよいですか?


HTTP動詞は、「統一インターフェース」制約の主要部分を構成し、名詞ベースのリソースに対応するアクションを提供します。主要な、または最も一般的に使用されるHTTP動詞(または適切に呼び出されるメソッド)は、POST、GET、PUT、PATCH、およびDELETEです。これらはそれぞれ、作成、読み取り、更新、および削除(またはCRUD)操作に対応します。他にも動詞はたくさんありますが、あまり使われていません。これらの頻度の低い方法のうち、OPTIONSとHEADは他の方法よりも頻繁に使用されます。

アクションメソッドには、Get、Post、Put、Patch、DeleteなどのHTTP動詞という名前を付けることができますが、読みやすくするために、HTTP動詞を使用して任意のサフィックスを追加できます。たとえば、GetメソッドはGetAllStudents()またはGetで始まるその他の名前にすることができます。

public class DemoController : ApiController{
   public IHttpActionResult GetAllStudents(){
      //Retrieves students data
      return Ok();
   }
   public IHttpActionResult Post([FromBody]Student student){
      //Insert student data
      return Ok();
   }
   public IHttpActionResult Put([FromBody]Student student){
      //Update student data
      return Ok();
   }
   public IHttpActionResult Delete(int id){
      //Delete student data
      return Ok();
   }
}

名前を付ける代わりにアクションメソッドのHttp動詞を定義するもう1つの方法は、Http動詞属性を使用することです。 。 特定のHTTPメソッドを使用して呼び出されるASP.NETWebAPIメソッドへのアクセスを簡単に制限できます

using DemoWebApplication.Models;
using System.Collections.Generic;
using System.Web.Http;
namespace DemoWebApplication.Controllers{
   public class DemoController : ApiController{
      [HttpGet] //HttpVerb Attribute
      public IHttpActionResult FetchStudentsList(){
         List<Student> students = new List<Student>{
            new Student{
               Id = 1,
               Name = "Mark"
            },
            new Student{
               Id = 2,
               Name = "John"
            }
         };
         return Ok(students);
      }
   }
}

C#ASP.NETWebAPIで特定のHTTP動詞を持つメソッドへのアクセスを制限するにはどうすればよいですか?

それでは、postリクエストを使用して上記のアクションメソッドにアクセスしてみましょう。

C#ASP.NETWebAPIで特定のHTTP動詞を持つメソッドへのアクセスを制限するにはどうすればよいですか?

FetchStudentsListアクションメソッドにPOSTリクエストを送信すると、405メソッドが許可されていません [HttpGet]属性で装飾されているため応答。


  1. Selenium WebDriverとJavaを使用して特定のウィンドウを閉じるにはどうすればよいですか?

    SeleniumWebdriverを使用して特定のウィンドウを閉じることができます。 getWindowHandles およびgetWindowHandle メソッドを使用して子ウィンドウを処理できます。 getWindowHandlesメソッドは、開いているすべてのウィンドウハンドルをSetデータ構造に格納するために使用されます。 getWindowHandleメソッドは、フォーカスのあるブラウザウィンドウのウィンドウハンドルを格納するために使用されます。 import java.util.Setを追加する必要があります およびimportjava.util.List コード内のS

  2. Windows 10でドライブへのアクセスを制限する方法は?

    Windowsオペレーティングシステムは、システム上の複数のユーザーアカウントの使用法を提供します。コンピューターが複数の家族や友人によって使用されている場合は、一部のファイル、フォルダー、さらにはドライブにプライバシーを設定するのが最善です。ただし、ドライブを制限することは、システム上のファイルやフォルダを制限することと同じではありません。システム上のドライブを制限するための特定の設定があり、ユーザーが他のドライブ上の個人データにアクセスできないようにします。この記事では、ドライブへのアクセスを制限する方法を紹介します。 ドライブへのアクセスを制限する方法はいくつかあります。ローカルグル