У меня есть два способа управления, показанные ниже, /garages/a
работает, когда я отправляю JSON (ответ 200), но /garages/a/brand
дает 404. Они отличаются только значением отображения.Два метода контроллера пружины, один возвращается 200, другие возвраты 404. Только различаются по URL-адресу сопоставления
Я использую Spring 4.1.4.RELEASE и конфигурацию Java. Я не использую Spring Boot.
методы контроллера:
@RequestMapping(value = "/garages/a", method = RequestMethod.POST, headers = "Content-Type = application/json", produces = "application/json")
public Garage specificGaragePost(
@RequestBody Garage garage) {
return garage;
}
@RequestMapping(value = "/garages/a/brand", method = RequestMethod.POST, headers = "Content-Type = application/json", produces = "application/json")
public Garage specificGarageBrandPost(
@RequestBody Garage garage) {
return garage;
}
класс Garage
public class Garage {
private String id;
private String brand;
private List<Fuel> fuels;
private double[] location;
//Getters and setters left out for brevity
Пример JSON (работает для/гаражей/в URL, но не/гаражи/а/бренд)
{
"id": "some-id",
"brand": "brand",
"fuels": [],
"location": [0,0]
}
Нет, это не так, если только не используется переменная URI, которой нет здесь. – chrylis