ModelAndView, возвращающий объект метода - PullRequest
0 голосов
/ 03 декабря 2018

У меня есть этот код:

@Controller
public class createUserController {

    @RequestMapping(value = "/user/registerUser", method = RequestMethod.GET, produces = "application/json")
    public ModelAndView createFleet(HttpServletRequest request, HttpServletResponse response, User user) {

        ModelAndView model = new ModelAndView();
        model.setView(new MappingJackson2JsonView());


        model.addObject("userCreated", new UserCreateResponse(user.getId(), user.getAccessCode()));

        return model;

    }
}

С ответом:

   {
  "user": {
    "id": null,
    "userName": "3",
    "password": "eccbc87e4b5ce2fe28308fd9f2a7baf3",
    "email": "3",
    "accessCode": "3"
  },
  "userCreated": {
    "id": null,
    "accessCode": "3"
  }
}

Я не хочу, чтобы основной пользователь был включен в ответ.Я просто хотел урезать детали, поэтому я не возвращаю исходный запрос.Я пробовал .clear (), но это дает ошибку 404

1 Ответ

0 голосов
/ 04 декабря 2018

Вы можете изменить свой контроллер, как показано ниже.Поскольку вы пытаетесь зарегистрировать пользователей, вы должны использовать POST вместо GET.

@RestController
public class createUserController {

    @PostMapping("/user/registerUser")
    public UserCreateResponse createFleet(HttpServletRequest request, HttpServletResponse response, User user) {

      return new UserCreateResponse(user.getId(), user.getAccessCode());        

    }
}
...