webapi鏁版嵁妯″瀷鎬庝箞缁戝畾
鍦╓eb API涓紝鏁版嵁妯″瀷鍙互閫氳繃浠ヤ笅鍑犵鏂瑰紡杩涜缁戝畾锛?/p>
- 鍩轰簬灞炴€х殑妯″瀷缁戝畾锛氬彲浠ラ€氳繃鍦ㄦ柟娉曞弬鏁颁腑澹版槑涓€涓笌璇锋眰鏁版嵁鐩稿搴旂殑灞炴€у璞℃潵瀹炵幇妯″瀷缁戝畾銆備緥濡傦紝鍙互浣跨敤FromBody灞炴€у皢璇锋眰浣撲腑鐨勬暟鎹粦瀹氬埌妯″瀷瀵硅薄銆?/li>
public IActionResult Post([FromBody] MyModel model)
{
// 澶勭悊妯″瀷鏁版嵁
}
- 鍩轰簬鍙傛暟鐨勬ā鍨嬬粦瀹氾細鍙互閫氳繃鍦ㄦ柟娉曞弬鏁颁腑鐩存帴澹版槑涓庤姹傛暟鎹浉瀵瑰簲鐨勫弬鏁版潵瀹炵幇妯″瀷缁戝畾銆備緥濡傦紝鍙互浣跨敤[FromQuery]灞炴€у皢鏌ヨ瀛楃涓蹭腑鐨勬暟鎹粦瀹氬埌鍙傛暟銆?/li>
public IActionResult Get([FromQuery] string name)
{
// 澶勭悊鏌ヨ鍙傛暟
}
- 鍩轰簬璺敱鐨勬ā鍨嬬粦瀹氾細鍙互閫氳繃鍦ㄨ矾鐢辨ā鏉夸腑瀹氫箟鍙傛暟鏉ュ疄鐜版ā鍨嬬粦瀹氥€備緥濡傦紝鍙互灏嗚矾鐢变腑鐨勬煇涓€閮ㄥ垎缁戝畾鍒版柟娉曞弬鏁般€?/li>
[HttpGet("users/{id}")]
public IActionResult GetUser(int id)
{
// 澶勭悊鐢ㄦ埛ID
}
- 鑷畾涔夋ā鍨嬬粦瀹氬櫒锛氬彲浠ラ€氳繃瀹炵幇鑷畾涔夋ā鍨嬬粦瀹氬櫒鏉ュ鐞嗙壒瀹氱被鍨嬬殑缁戝畾閫昏緫銆備緥濡傦紝鍙互涓虹壒瀹氱被鍨嬪疄鐜拌嚜瀹氫箟缁戝畾鍣ㄦ潵浠庤姹傛暟鎹腑鎻愬彇鍜岃浆鎹㈣绫诲瀷鐨勫€笺€?/li>
public class MyModelBinder : IModelBinder
{
public Task BindModelAsync(ModelBindingContext bindingContext)
{
// 鑷畾涔夌粦瀹氶€昏緫
}
}
public IActionResult Get([ModelBinder(typeof(MyModelBinder))] MyModel model)
{
// 澶勭悊妯″瀷鏁版嵁
}
浠ヤ笂鏄竴浜涘父鐢ㄧ殑鏁版嵁妯″瀷缁戝畾鏂瑰紡锛屽彲浠ユ牴鎹叿浣撻渶姹傞€夋嫨閫傚悎鐨勬柟寮忚繘琛岀粦瀹氥€?/p>