Computer >> Máy Tính >  >> Lập trình >> C#

Tham số ràng buộc trong C # ASP.NET WebAPI là gì?

Ràng buộc là một quá trình để đặt giá trị cho các tham số khi API Web gọi một phương thức phân số điều khiển.

Các phương thức API Web với các loại thông số khác nhau và cách tùy chỉnh quy trình liên kết.

Nếu tham số là một loại đơn giản như int, bool, double, v.v., Web API sẽ cố gắng lấy giá trị từ URI (Từ dữ liệu định tuyến hoặc từ Chuỗi truy vấn)

nếu tham số là một loại phức tạp như Khách hàng, Nhân viên, v.v., thì Web APIFramework sẽ cố gắng lấy giá trị từ phần thân yêu cầu.

Chúng tôi có thể thay đổi hành vi mặc định này của quá trình liên kết tham số bằng cách sử dụng các thuộc tính [FromBody] và [FromUri].

FromUri -

Nếu tham số thuộc loại đơn giản, thì web Api sẽ cố gắng lấy giá trị từ URI

.NET Kiểu nguyên thủy như chuỗi kép, DateTime, GUID bất kỳ kiểu nào có thể chuyển đổi từ kiểu Chuỗi

Ví dụ

public Student Get(int id){}

FromBody

Nếu tham số của loại Kiểu phức tạp thì Web Api sẽ cố gắng liên kết các giá trị từ nội dung thư.

Ví dụ

Public Student Post(Employee employee){}

[FromUri]

Để buộc API Web đọc một kiểu phức tạp từ URI, hãy thêm thuộc tính [FromUri] vào tham số

Sử dụng thuộc tính [FromUri] để buộc Web Api nhận giá trị của kiểu Complex từQueryString.

Ví dụ

public Student Get([FromUri] Employee employee)
public HttpResponseMessage Get([FromUri] Employee employee) { ... }

[FromBody]

Sử dụng thuộc tính [FromBody] để nhận giá trị của loại Nguyên thủy từ nội dung yêu cầu, đối diện với các giá trị mặc định

Không, nhiều FormBody không được phép trong một hành động.

Để buộc API Web đọc một kiểu đơn giản từ phần thân yêu cầu, hãy thêm [FromBody]

Trong ví dụ này, Web API sẽ sử dụng trình định dạng kiểu phương tiện để đọc giá trị của namef từ phần thân yêu cầu

Ví dụ

public Student Post([FromBody] string name]){...}
public HttpResponseMessage Post([FromBody] string name) { ... }