小编cjb*_*110的帖子

配置 Visual Studio 使用的 OpenAPI 客户端生成器来修复日期时间/偏移问题

我有一个 ASP.NET Core 5 Web API,它使用 Swagger 生成 OpenAPI3 json 文件。在我的 Blazor WASM 客户端上使用 Visual Studo 2019 (16.8.2),我已向该 json 文件添加了服务引用。

所有这些都工作正常,除了由于某种原因由 Visual Studio 生成的 POCO(? NSWag 可能基于参考文献)都使用DateTimeOffset.

现在我想我需要useDateTimeOffset 基于此设置一个设置,但不知道在哪里或如何这样做。

编辑:看起来DateTimeOffset是通用日期的推荐数据类型。但我还是想知道如何更改选项!

如果是 OpenAPI3 json 的问题,targetDate应该只是日期,并且dateRaised应该是日期和时间:

            "InitialRequestDTO": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "integer",
                    "format": "int32"
                },
                "requesterName": {
                    "type": "string",
                    "nullable": true
                },
                "sponsorName": {
                    "type": "string",
                    "nullable": true
                },
                "requestTitle": {
                    "type": "string",
                    "nullable": true
                },
                "ownReference": …
Run Code Online (Sandbox Code Playgroud)

visual-studio swagger asp.net-core openapi-generator asp.net-core-5.0

7
推荐指数
1
解决办法
1637
查看次数

了解为什么我仍然在构造函数中遇到 CS8618 错误

我正在处理可为空的更改,但我遇到了一些给出 CS8618 (可为空的字段必须包含非空)的问题,但我认为不应该如此。

基本上我有一个私有字段,并且我的构造函数调用“init/setup 等”方法,该方法确实设置了私有字段,但它并不高兴。

IE

    public class Test
    {
        private object bob;

        public Test()
        {
            Init();
        }

        private void Init()
        {
            bob = new object();
        }
    }
Run Code Online (Sandbox Code Playgroud)

编译器将构造函数突出显示为有错误。我能以某种方式告诉它Init()做它想要的吗?或者我是否遗漏了一些东西,这意味着Init()在某些情况下可能不会被调用,从而使警告有效?

我最后在某些地方尝试了一些!,但似乎不是这样。如果我将代码从Init()构造函数中移至构造函数中,则这个简单示例和我的代码中的错误就会消失。

c# nullable

6
推荐指数
1
解决办法
877
查看次数

Word OpenXML替换令牌文本

我正在使用OpenXML来修改Word模板,这些模板包含可由某些字符识别的简单令牌(目前是双V形(ascii 171和187)).

我想用我的文本替换这些标记,这可能是多行的(即从数据库中).

c# ms-word openxml openxml-sdk

2
推荐指数
1
解决办法
4060
查看次数

如何使用 HttpTestingController 刷新标头?

我有一个调用 http api 的 Angular 服务,该 API 返回一个文件 blob。该服务将响应传递给文件保存方法以呈现文件以供下载。

我正在努力对此方法进行单元测试,特别是确保其中有包含正确标头的响应。我认为它是 TestRequest.flush() 函数的一部分

flush(body: ArrayBuffer | Blob | string | number | Object | (string | number | Object | null)[] | null, opts: {
    headers?: HttpHeaders | {
        [name: string]: string | string[];
    };
    status?: number;
    statusText?: string;
} = {}): void
Run Code Online (Sandbox Code Playgroud)

但我无法弄清楚如何添加标头。

        req.flush(file, {
        headers: {
            [name: 'Content-Disposition']= '' },
        status: 200,
        statusText: 'OK'
    });
Run Code Online (Sandbox Code Playgroud)

unit-testing http http-headers angular

2
推荐指数
1
解决办法
2935
查看次数