2

REST 要求が作成されたときに返される JSON は、bool プロパティが false の場合は JSON に含まれないことを除いて、すべて正常に機能します (Fiddler で検証)。私は試した:

[DataMember(IsRequired = true)]
        public bool success { get; set; }

しかし、それはまだ返されませんでした。

助言がありますか?そして、null に対しては何も返さないことが気に入っています。常に返してほしいのは bool だけです。

WebApiConfig.cs:

public static class WebApiConfig
{
    public static void Register(HttpConfiguration config)
    {

        config.MapHttpAttributeRoutes();

        config.Formatters.XmlFormatter.UseXmlSerializer = true;
        config.Formatters.JsonFormatter.SerializerSettings.DefaultValueHandling = Newtonsoft.Json.DefaultValueHandling.IgnoreAndPopulate;
        config.Formatters.JsonFormatter.SerializerSettings.NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore;
    }
}

DatasourceController.cs:

public class DatasourceController : ApiController
{

    [HttpGet("datasource/metadata/{datasource}")]
    public MetaDataInfo GetDatasourceSchema(string datasource, string node = "")
    {
        DocumentInfo docInfo = DocumentData.GetDocInfo("dave");
        return MetaDataFactory.GetMetaDataInfo(docInfo, datasource, node);
    }
}
4

2 に答える 2

0

同じ情報を探していました。以下を使用して、特定のプロパティを指定できることがわかりました。

[JsonProperty(DefaultValueHandling = DefaultValueHandling.Include)]

ASP.NET Core 1 RC2 でテストしました。それがMVC6です。

于 2016-05-31T17:31:48.713 に答える