JsonApiDotNetCore 4.0已从JsonApiOptions中删除了BuildResourceGraph。什么是替代品?

时间:2020-02-21 22:10:23

标签: asp.net-core json-api asp.net-core-3.1

我正在从.NET Core 2.2迁移到3.1。为此,我将JsonApiDotNetCore程序包从3.1更新到了4.0.0 alpha 4。

在2.2中,我使用了JsonApiDotNetCore 3.1,并使用BuildResourceGraph将任何JSON API资源添加到资源图。下面的代码:

IMvcCoreBuilder objMvcCoreBuilder = null;

objServices.AddJsonApi((objOptions) =>
{
    objOptions.BuildResourceGraph((objBuilder) =>
    {
        objBuilder
        .AddResource<Register>("registers")
        .AddResource<Client>("clients")   
        ;
    });
}, objMvcCoreBuilder);

但是,出现以下错误:

'JsonApiOptions'不包含针对的定义 'BuildResourceGraph',没有可访问的扩展方法 'BuildResourceGraph'接受类型的第一个参数 可以找到“ JsonApiOptions”(您是否缺少using指令或 组装参考?)

BuildResourceGraph的替代品是什么?

1 个答案:

答案 0 :(得分:0)

仔细研究了Git上的JsonApiOptions.cs提交历史之后,我发现了更改:

IMvcCoreBuilder objMvcCoreBuilder = null;

objServices.AddJsonApi(
    options => options.Namespace = "api/v1",
    resources: resources =>
                resources
                .AddResource<Register>("registers")
                .AddResource<Client>("clients")             
                ,
    mvcBuilder: objMvcCoreBuilder
);

转到/NoEntityFrameworkExample/Startup.cs文件,您将看到显示更改的差异。除此之外,在站点顶部的更改日志记录中仅隐晦地提及重命名BuildResourceManager。

https://github.com/json-api-dotnet/JsonApiDotNetCore/commit/7b8250bf5b9e64b91d8fa0357e915a1121eb6081#diff-d56ca61ff20d8be0b7cb20c9fd106d9f

文件的修订版本在这里:

https://github.com/json-api-dotnet/JsonApiDotNetCore/blob/7b8250bf5b9e64b91d8fa0357e915a1121eb6081/src/Examples/NoEntityFrameworkExample/Startup.cs