在正文中传递 Content-Type json raw 后获取 null

Posted

技术标签:

【中文标题】在正文中传递 Content-Type json raw 后获取 null【英文标题】:Getting null after passing Content-Type json raw in body 【发布时间】:2018-05-22 10:54:24 【问题描述】:

服务就像

    public ServiceResult<ForGotModel> ForGotPassword(ForGotModel model)
    

            int errorState = 0, errorSeverity = 0;
            string message = string.Empty;
    // other works goes here

    return new ServiceResult<ForGotModel>()
        
            ErrorState = errorState,
            ErrorSeverity = errorSeverity,
            Message = message
        ;
    

当我尝试从邮递员运行服务时,一个变量的输出为空

public class ForgotResult


    [Required]
    [Display(Name = "User Name")]
    public string UserName  get; set; 

public class ForGotModel : ForgotResult


    [Display(Name = "Store Code")]
    [DataMember]
    public string StoreCode  get; set; 


[OperationContract]
     [WebInvoke(Method = "POST",
     UriTemplate = "/StoreForGotPassword",
       RequestFormat = WebMessageFormat.Json,
     ResponseFormat = WebMessageFormat.Json)]
     ServiceResult<ForGotModel> 
     ForGotPassword(ForGotModel model);

ForgotResult 也被其他继承

我发送的 Content-Type 是 application/json


"StoreCode":"44YLS1001",
"UserName":"vbn"

但对于 StoreCode,我得到了值,而对于 UserName,我得到了 null

任何可以帮助我的建议?cca 提前致谢。

【问题讨论】:

您的代码使用了ForGotModel,但您只显示了StoreForGotModel。你有不同的ForGotModel 类吗? 对不起。我忘记在这个代码spinet中删除。我使用的是相同的型号。 【参考方案1】:

我得到了解决方案。 刚刚更新为 [DataMember]

public class ForgotResult


[Required]
[DataMember]
[Display(Name = "User Name")]
public string UserName  get; set; 

【讨论】:

以上是关于在正文中传递 Content-Type json raw 后获取 null的主要内容,如果未能解决你的问题,请参考以下文章

如何在 React Fetch Blob 中使用 content-Type JSON(application/json) 发布原始正文数据

使用 HttpClient 将 Content-Type 设置为“application/json”并将对象添加到正文

如何在使用 Cloud Scheduler 发出的 HTTP POST 请求上添加 JSON 正文?它会添加“Content-Type”:“application/json”标头吗?

在单个 HTTP POST 请求中同时传递文件资源和 json 正文

如何在 HTTP 请求 JSON 正文中传递 mongodb ObjectId()?

在 Postman 的请求正文中传递多个 JSON 数据并使用 Jersy(JXRS) 进入 Java Rest API