У меня была задача, чтобы сделать метод добавления, а затем использовать этот метод в качестве конечной точки, чтобы сделать вызов API через мое ядро ASP.NET. Все работало с Swagger UI, но я был предположил, чтобы сделать свой собственный фронт, и я удалил Swagger и удалил все, что Swagger, связанное с конфигурацией, и я переписал то, что мне нужно. Теперь я получаю ошибку ... < /p>
Я ожидал получить результат, но вместо этого получил сообщение об ошибке < /p>
Это мой контроллер < /p>
namespace APIProject.Controllers
{
[Route("api/[controller]")]
[ApiController]
public class TextCalculatorController : ControllerBase
{
[HttpPost]
public string Calculate(string input)
{
return new TextCalculator().Add(input);
}
}
}
< /code>
Это вызов API < /p>
document.getElementById("calculator-form").addEventListener("submit", async function (event) {
event.preventDefault();
const numbers = event.target.elements.numbers.value;
try {
const response = await fetch("http://localhost:44313/api/TextCalculator", {
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify({ numbers: numbers }),
});
if (!response.ok) {
throw new Error(response.statusText);
}
const result = await response.text();
document.getElementById("result").innerHTML = result;
} catch (error) {
document.getElementById("result").innerHTML = error.message;
}
});
< /code>
Это метод: < /p>
public class TextCalculator
{
public string Add(string numbers)
{
if (string.IsNullOrWhiteSpace(numbers))
{
return "0";
}
string[] numberStrings = numbers.Split(',');
int[] numbersArray = new int[numberStrings.Length];
List negativeNumbers = new List();
for (int i = 0; i < numberStrings.Length; i++)
{
if (!int.TryParse(numberStrings, out numbersArray))
{
throw new InvalidOperationException("Input must contain only digits.");
}
if (numbersArray < 0)
{
negativeNumbers.Add(numbersArray);
}
if (numberStrings[numberStrings.Length - 1].Length == 0)
{
throw new InvalidOperationException("Missing number in last position.");
}
}
if (negativeNumbers.Count > 0)
{
string negativeNumbersList = string.Join(", ", negativeNumbers);
throw new InvalidOperationException("Negative numbers not allowed: " + negativeNumbersList);
}
int result = 0;
foreach (int number in numbersArray)
{
result += number;
}
return result.ToString();
}
}
< /code>
Можно ли найти проблемы в этом файле json ??? < /p>
{
"$schema": "http://json.schemastore.org/launchsettings.json",
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:10089",
"sslPort": 44313
}
},
"profiles": {
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": true,
"launchUrl": "UI/index.html",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
},
"APIProject": {
"commandName": "Project",
"dotnetRunMessages": "true",
"launchBrowser": true,
"launchUrl": "UI/index.html",
"applicationUrl": "https://localhost:5001;http://localhost:5000",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
}
}
}
Подробнее здесь: https://stackoverflow.com/questions/753 ... ot-working
ASP.net Core Web API -запрос Post Post не работает ⇐ C#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Почему HTTP Post в Orchard Core ASP Net Core Web App Возвращает плохой запрос
Anonymous » » в форуме C# - 0 Ответы
- 15 Просмотры
-
Последнее сообщение Anonymous
-
-
-
ASP.NET CORE WEB API API APICONTROLLER запрос NULL для сообщения, но параметр файлов доступен
Anonymous » » в форуме C# - 0 Ответы
- 1 Просмотры
-
Последнее сообщение Anonymous
-