Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将Json字符串发布到WebApi始终以null参数结束_C#_Json_Asp.net Web Api - Fatal编程技术网

C# 将Json字符串发布到WebApi始终以null参数结束

C# 将Json字符串发布到WebApi始终以null参数结束,c#,json,asp.net-web-api,C#,Json,Asp.net Web Api,嗨,我一直在努力解决这个问题。我有一个接受Json字符串作为POST的WebApi。客户端正在访问我们的Webapi。但是,“结果”始终为空。我已经研究了好几天,但没有找到答案。我正在使用邮递员发布对WebApi的响应。我是WebApi新手,这是我的第一篇文章。希望有人能对此有所启发。多谢各位 WebApiConfig.cs public static void Register(HttpConfiguration config) { config.SuppressDefaultHost

嗨,我一直在努力解决这个问题。我有一个接受Json字符串作为POST的WebApi。客户端正在访问我们的Webapi。但是,“结果”始终为空。我已经研究了好几天,但没有找到答案。我正在使用邮递员发布对WebApi的响应。我是WebApi新手,这是我的第一篇文章。希望有人能对此有所启发。多谢各位

WebApiConfig.cs

public static void Register(HttpConfiguration config)
{
    config.SuppressDefaultHostAuthentication();
    config.Filters.Add(new 
    HostAuthenticationFilter(OAuthDefaults.AuthenticationType));
    config.Filters.Add(new BasicAuthenticationFilterAttribute());

    // Web API routes
    config.MapHttpAttributeRoutes();
    config.Routes.MapHttpRoute(
    name: "DefaultApi",
    routeTemplate: "api/{controller}"
    );
}
protected void Application_Start()
    {
        AreaRegistration.RegisterAllAreas();
        GlobalConfiguration.Configure(WebApiConfig.Register);
        FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
        RouteConfig.RegisterRoutes(RouteTable.Routes);
        BundleConfig.RegisterBundles(BundleTable.Bundles);
    }
[Serializable]
public class OcrResultModel
{                       
    public string requestId { get; set; }      
    public string customerRequestId { get; set; }
}
Global.asax.cs

public static void Register(HttpConfiguration config)
{
    config.SuppressDefaultHostAuthentication();
    config.Filters.Add(new 
    HostAuthenticationFilter(OAuthDefaults.AuthenticationType));
    config.Filters.Add(new BasicAuthenticationFilterAttribute());

    // Web API routes
    config.MapHttpAttributeRoutes();
    config.Routes.MapHttpRoute(
    name: "DefaultApi",
    routeTemplate: "api/{controller}"
    );
}
protected void Application_Start()
    {
        AreaRegistration.RegisterAllAreas();
        GlobalConfiguration.Configure(WebApiConfig.Register);
        FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
        RouteConfig.RegisterRoutes(RouteTable.Routes);
        BundleConfig.RegisterBundles(BundleTable.Bundles);
    }
[Serializable]
public class OcrResultModel
{                       
    public string requestId { get; set; }      
    public string customerRequestId { get; set; }
}
OcrDataReceiverController.cs-“结果”始终为空

[RoutePrefix("api/OcrDataReceiver")]
[Authorize]
public class OcrDataReceiverController : ApiController
{   
    [HttpPost]
    [AllowAnonymous]
    public HttpResponseMessage Post([FromBody]OcrResultModel result)
    {
    // Do Something
    }
}
ocresultmodel.cs

public static void Register(HttpConfiguration config)
{
    config.SuppressDefaultHostAuthentication();
    config.Filters.Add(new 
    HostAuthenticationFilter(OAuthDefaults.AuthenticationType));
    config.Filters.Add(new BasicAuthenticationFilterAttribute());

    // Web API routes
    config.MapHttpAttributeRoutes();
    config.Routes.MapHttpRoute(
    name: "DefaultApi",
    routeTemplate: "api/{controller}"
    );
}
protected void Application_Start()
    {
        AreaRegistration.RegisterAllAreas();
        GlobalConfiguration.Configure(WebApiConfig.Register);
        FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
        RouteConfig.RegisterRoutes(RouteTable.Routes);
        BundleConfig.RegisterBundles(BundleTable.Bundles);
    }
[Serializable]
public class OcrResultModel
{                       
    public string requestId { get; set; }      
    public string customerRequestId { get; set; }
}
因为我是stackoverflow的新手,所以我还不能发布任何图片(邮递员)。在postman中,我有Content Type=application/json

正文:Raw-JSON(应用程序/JSON)


从类中删除可序列化的
。它会起作用的

由于Json.NET序列化程序默认将
IgnoreSerializableAttribute
设置为true,因此它会忽略属性

public class OcrResultModel
{                       
    public string requestId { get; set; }      
    public string customerRequestId { get; set; }
}