Я только что столкнулся с проблемой в весеннем загрузочном посте.У меня есть конечная точка API, которая принимает параметр String
, как показано ниже:
@RequestMapping(method = RequestMethod.POST, value = "/products/add")
public RestMessage addProduct(@RequestBody String name) {
//Code implementation here
}
Когда я тестирую эту конечную точку API от почтальона, параметр name имеет совокупность как name = "\"value\""
;
Мой запрос почтальона:
Я недавно мигрировал из .net, и если я сравниваю его сМетод Web API 2 Я бы имел реализацию в виде
[Route("products/add")]
public IHttpActionResult Post([FromBody]string name)
{
//Code implementation here
}
И если бы я тестировал эту конечную точку из почтальона, то у меня было бы значение параметра name простая строка как name = "value"
.
Что нужно сделать, чтобы добиться такого же поведения в Spring Boot.Я понимаю, что Spring Boot рассматривает кавычки как строку, а не как часть json.
Если я отправляю запрос в таком формате
Это результат
Обновлено : Итак, после нескольких испытаний я обнаружил, что ASP.net рассматривает строковое значение почтальона как строковый объект, он игнорирует кавычки для вас.Но при загрузке в Spring, если у вас есть один параметр в виде строки, и вы должны передать его в @RequestBody, не переводите его в строку.Пример запроса, который работает для меня как:
Так что не нужно беспокоиться о знаке креста в почтальоне.