.Net Core 5 Web Api - Swagger POST ok Xunit POST错误

我正在使用XUnit测试我的WebApi,GET请求工作正常。但是当通过XUnit测试POST时,我收到一个404Bad请求,而Swagger返回200OK

?

?

?

?

测试

[Theory]
        [InlineData("POST")]
        public async Task ContestCreateTest(string method)
        {
            var _httpClient = new Setup().httpClient;

            var request = new HttpRequestMessage(new HttpMethod(method), "/v1/Contest");

            var contestObject = new
            {
                title = "Concurso automatizado",
                description = "Concurso automatizado",
                submissionDeadLineInit = TimeZoneInfo.ConvertTime(DateTime.UtcNow.AddDays(1), TZConvert.GetTimeZoneInfo("America/Sao_Paulo")).ToString("yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fff'Z'"),
                submissionDeadLineEnd = TimeZoneInfo.ConvertTime(DateTime.UtcNow.AddDays(2), TZConvert.GetTimeZoneInfo("America/Sao_Paulo")).ToString("yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fff'Z'"),
                ratingDeadLineInit = TimeZoneInfo.ConvertTime(DateTime.UtcNow.AddDays(3), TZConvert.GetTimeZoneInfo("America/Sao_Paulo")).ToString("yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fff'Z'"),
                ratingDeadLineEnd = TimeZoneInfo.ConvertTime(DateTime.UtcNow.AddDays(4), TZConvert.GetTimeZoneInfo("America/Sao_Paulo")).ToString("yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fff'Z'"),
                closingDate = TimeZoneInfo.ConvertTime(DateTime.UtcNow.AddDays(5), TZConvert.GetTimeZoneInfo("America/Sao_Paulo")).ToString("yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fff'Z'"),
                useDistritoRules = true,
                rules = ""
            };

            string contestJson = JsonConvert.SerializeObject(contestObject);

            request.Content = new StringContent(contestJson, Encoding.UTF8, "multipart/form-data");

            var response = await _httpClient.SendAsync(request);

            response.EnsureSuccessStatusCode();
            Assert.Equal(HttpStatusCode.OK, response.StatusCode);
        }

转载请注明出处:http://www.hanxingera.com/article/20230526/2553673.html