Spring POST-запрос приложения не работает и не обновляет базу - PullRequest
0 голосов
/ 24 октября 2019

У меня есть приложение Java Boot Spring. Когда я отправляю данные POST-запроса через POSTman. JSONObject не может быть возвращен, POSTman показывает {"false"}

Это мой контроллер, пакет com.lagoma.demo.controller;

@RestController
@RequestMapping(value = "/user")

public class User {

    @Autowired
    private UserService userService;

    @GetMapping
    public List<UserModel> getUsers() {
        return userService.getUsers();


    }

    @RequestMapping(method = RequestMethod.GET, value = "/get")
    public UserModel getOneUser(@RequestParam(value = "id", required = false, defaultValue = "00") int id) {
        return userService.getUser(id);
    }

    @RequestMapping(method = RequestMethod.POST, value = "/save")
    public boolean updateUser(@RequestBody UserModel userModel){
        return userService.updateUser(userModel);
    }

1 Ответ

0 голосов
/ 24 октября 2019

Spring Controller не может возвращать примитивный тип или его оболочку.

Вам нужно вернуть какой-нибудь объект.

Если у вас нет какого-либо объекта в области видимости, возвращение Map также подойдет.

Измените ваш updateUser на что-то вроде

@RequestMapping(method = RequestMethod.POST, value = "/save")
public Map<String, Boolean> updateUser(@RequestBody UserModel userModel){
    return Collections.singletonMap("result", userService.updateUser(userModel));
}

или с объектом

@RequestMapping(method = RequestMethod.POST, value = "/save")
public User updateUser(@RequestBody UserModel userModel){
    // assuming userService.updateUser will return User object
    User user = userService.updateUser(userModel); 
    return user;
}
...