c# には try & catch ブロックがあり、回避する方法を知っていますが"Attempted to divide by zero
、WebAPI2.0 では、1/0 または -1/0を入力しないようにユーザーを制限するにはどうすればよいですか?
public IHttpActionResult div(int a, int b)
{
return Ok(a / b);
}
c# には try & catch ブロックがあり、回避する方法を知っていますが"Attempted to divide by zero
、WebAPI2.0 では、1/0 または -1/0を入力しないようにユーザーを制限するにはどうすればよいですか?
public IHttpActionResult div(int a, int b)
{
return Ok(a / b);
}
これをまったく同じ方法で処理します。Web API はハンドル通信の 1 つの方法にすぎません。C# ロジックは同じままです。
これは、DI を使用してそれを行う方法の例です。
public class DivisionController: ApiController
{
private readonly ICalcService _calcService;
public DivisionController(ICalcService calcService)
{
_calcService = calcService;
}
[HttpGet]
public IHttpActionResult div(int a, int b)
{
return Ok(_calcService.Divide(a,b));
}
}
public class CalcService: ICalcService
{
public decimal Divide(int a, int b)
{
if(b == 0)
{
//handle what to do if it's zero division, perhaps throw exception
return 0;
}
return a / b;
}
}