我遇到了一個奇怪的問題,我創建了一個 ASP.NET Web API 并添加了一個新的控制器,該控制器派生自ApiController并添加了一個新Test操作。API 使用個人帳戶身份驗證。
但是當我發送 API 呼叫時,它總是回傳“False”。我已經通過洗掉[Authorized]屬性來檢查授權請求是否有問題,但我仍然得到同樣的錯誤。
他是我的控制器類:
using System.Configuration;
using System.Web.Http;
namespace Healthterest.Controllers
{
public class PinsController : ApiController
{
public PinsController():base()
{
}
// [Authorize]
[HttpPost]
[ActionName("test")]
public IHttpActionResult test(string name)
{
return Ok(name);
}
}
}
WebApiConfig:
using System;
using System.Web.Http;
using System.Web.Http.Cors;
using Microsoft.Owin.Security.OAuth;
namespace Healthterest
{
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
// Web API configuration and services
// Configure Web API to use only bearer token authentication.
config.SuppressDefaultHostAuthentication();
config.Filters.Add(new HostAuthenticationFilter(OAuthDefaults.AuthenticationType));
//EnableCrossSiteRequests(config);
// Web API routes
config.MapHttpAttributeRoutes();
//config.EnableCors(new EnableCorsAttribute("*", headers: "*", methods: "*"));
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
private static void EnableCrossSiteRequests(HttpConfiguration config)
{
var cors = new EnableCorsAttribute(
origins: "*",
headers: "*",
methods: "*");
config.EnableCors(cors);
}
}
}

任何人都可以幫助找出問題所在嗎?
uj5u.com熱心網友回復:
如果您回傳字串嘗試
public string test(string name)
{
return Ok(name);
}
uj5u.com熱心網友回復:
using System.Configuration;
using System.Web.Http;
namespace Healthterest.Controllers
{
public class PinsController : ApiController
{
public PinsController():base()
{
}
// [Authorize]
[HttpPost]
[ActionName("test")]
public IHttpActionResult test([FromForm]string name)
{
return Ok(name);
}
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/407927.html
標籤:
