Это странно, что мои операции PUT не сопоставляется с методом родниковой, я следующие классы ...Spring PUT не картирование методу
@Controller
@RequestMapping(value = { "/**/applicationContext/abcde" })
public abstract class AbstractController {
// Exception handlers
}
Этот класс продлен еще на один абстрактный класс, как показано ниже
public abstract class AbstractAdapter extends AbstractController{}
Наконец, выше класс расширен ниже класс
public class SpringAdapter extends AbstractAdapter implements MyInterface{}
И я некоторые операции, поставленных на (
@Override
@ResponseBody
@RequestMapping(method = { RequestMethod.PUT }, consumes = "application/x-www-form-urlencoded", produces = "application/xml", params = {
"param1=some_value", param2 })
public MyObject update(
@RequestParam(value = param2, required = true) @ContentType(value = Encoding.XML) MyObejct myObject, HttpServletRequest request) throws Exception{ }
Но когда я вызываю метод put, запрос не сопоставляется с моим методом обновления. Может кто-нибудь помочь.
Вы действительно уверены, что ваш запрос содержит все необходимые параметры? Заголовки Content-Type и 'Accept'. У URL-адреса есть параметр param1 = some_value, и я думаю, что 'param2' является статическим константом в стиле« myParam = myValue ». –
Мне также было бы интересно услышать, действительно ли ваш SpringAdapter использует аннотацию @Controller. В противном случае он не будет отсканирован и не будет найден – Joeblade
@Joeblade: Поскольку мой родительский класс отмечен аннотацией Controller, и поэтому мне не нужно отмечать мой SpringAdapter с помощью аннотации Controller. – Apollo