WebAPI是一种基于HTTP协议的应用程序编程接口,允许不同系统之间通过网络进行数据交互。调用自定义方法是指通过WebAPI访问开发者定义的非标准RESTful端点或特定功能。
/api/CalculateTax
/api/orders/{id}/cancel
/api/users/batch-update
/api/products/search
[ApiController]
[Route("api/[controller]")]
public class CalculatorController : ControllerBase
{
[HttpPost("calculate-discount")]
public ActionResult<decimal> CalculateDiscount([FromBody] DiscountRequest request)
{
// 自定义业务逻辑
decimal discount = request.BaseAmount * (request.IsPremiumMember ? 0.2m : 0.1m);
return Ok(discount);
}
}
public class DiscountRequest
{
public decimal BaseAmount { get; set; }
public bool IsPremiumMember { get; set; }
}
async function callCustomApi() {
const requestData = {
baseAmount: 1000,
isPremiumMember: true
};
try {
const response = await fetch('https://api.example.com/api/calculator/calculate-discount', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer your_token_here'
},
body: JSON.stringify(requestData)
});
if (!response.ok) {
throw new Error(`HTTP error! status: ${response.status}`);
}
const discount = await response.json();
console.log('Calculated discount:', discount);
} catch (error) {
console.error('Error calling API:', error);
}
}
原因:
解决方案:
原因:
解决方案:
原因:
解决方案:
原因:
解决方案:
// C# CORS配置示例
services.AddCors(options =>
{
options.AddPolicy("AllowSpecificOrigin",
builder => builder.WithOrigins("https://your-client-domain.com")
.AllowAnyMethod()
.AllowAnyHeader());
});
通过合理设计和实现自定义WebAPI方法,可以显著增强API的灵活性和实用性,满足特定业务需求。
没有搜到相关的文章