2017-02-13 24 views
0

Весной MVC для службы RESTful, если URI и HTTP-метод одинаковы для двух или более разных ресурсов, тогда они могут быть сделаны взаимоисключающими на основе параметров запроса, используя (!) НЕ оператор с Query Param, такие как:RESTful URI Предоставление взаимного исключения ресурсов на основе параметра запроса в CXF

@RequestMapping(method = RequestMethod.POST, value = "/authentication", params = { "password", "!ssn" }) 
    @ResponseBody 
    public SessionResponse userLogin(@Valid @ModelAttribute final UsernameAuthFormBean usernameAuthFormBean, 
      final BindingResult bindingResult, final HttpServletRequest request, final HttpServletResponse response) {} 



@RequestMapping(method = RequestMethod.POST, value = "/authentication", params = { "!password", "ssn" }) 
    @ResponseBody 
    public SessionResponse forgotPassword(@Valid @ModelAttribute final ForgotPasswordFormBean forgotPasswordFormBean, 
      final BindingResult bindingResult, final HttpServletRequest request, final HttpServletResponse response) {} 

Как это может быть достигнуто в CXF?

ответ

0

CXF и Spring MVC не сопоставимы напрямую. CXF представляет собой реализацию Java Api для сервисов RESTful JAX-RS

Этот оператор ! не указан в спецификации, а CXF не реализует его. Вы должны использовать разные идентификаторы URI

@POST 
@Path("/authentication/userLogin") 
public Response userLogin(@FormParam("") UsernameBean bean) 


@POST 
@Path("/authentication/forgotPassword") 
public Response forgotPassword(@FormParam("") ForgotPasswordBean bean) 
+0

На самом деле у нас есть существующее приложение и у нас есть несколько клиентов, которые используют наши существующие конечные точки, я не могу изменить Ури, но мы должны перенести это приложение из Spring MVC в CXF, так там какая-нибудь работа вокруг? – Narendra

+0

Затем вам нужно реализовать логику операции самостоятельно: 1) определить уникальный метод для uri '/ authentication' 2) параметры синтаксического анализа и выбрать целевой метод 3) проанализировать параметры формы и метод вызова вызова – pedrofb