Mam problem w rescie a Mianowicie kiedy sprawdzam w POSTMAN metody GET i DELETE działają poprawnie ale już POST czy PUT to nie. W czym jest problem ? Zaznaczę że jestem początkujący w Springu i w tworzeniu aplikacji restowych
package com.xxx.xxx.controller;
import com.xxx.xxx.model.User;
import com.xxx.xxx.service.UserService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatus;
import java.lang.String;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.util.UriComponentsBuilder;
import javax.jws.soap.SOAPBinding;
import java.text.DateFormat;
import java.util.*;
@Controller
@RequestMapping("")
public class LoginController {
// static Set User;
//
// static{
// User = new HashSet();
// User foobar = null;
// for (int i = 0; i < 10; i++){
// foobar = new User(i , "User " + i);
// User.add(foobar);
// }
// }
private static final Logger logger = LoggerFactory.getLogger(LoginController.class);
//
//
// Map<Integer, User> userMap = new HashMap<>();
//
@Autowired
private UserService userService;
//-------------------Retrieve All Users--------------------------------------------------------
@RequestMapping(value = "/user/", method = RequestMethod.GET)
public ResponseEntity<List<User>> listAllUsers() {
List<User> users = userService.getAllUser();
if(users.isEmpty()){
return new ResponseEntity<List<User>>(HttpStatus.NO_CONTENT);//You many decide to return HttpStatus.NOT_FOUND
}
return new ResponseEntity<List<User>>(users, HttpStatus.OK);
}
//-------------------Retrieve Single User--------------------------------------------------------
@RequestMapping(value = "/user/{id}", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<User> getUser(@PathVariable("id") long id) {
System.out.println("Fetching User with id " + id);
User user = userService.getUser(id);
if (user == null) {
System.out.println("User with id " + id + " not found");
return new ResponseEntity<User>(HttpStatus.NOT_FOUND);
}
return new ResponseEntity<User>(user, HttpStatus.OK);
}
//-------------------Create a User--------------------------------------------------------
@RequestMapping(value = "/user/", method = RequestMethod.POST)
public ResponseEntity<Void> createUser(@RequestBody User user, UriComponentsBuilder ucBuilder) {
System.out.println("Creating User " + user.getName());
if (userService.isUserExist(user)) {
System.out.println("A User with name " + user.getName() + " already exist");
return new ResponseEntity<Void>(HttpStatus.CONFLICT);
}
userService.add(user);
HttpHeaders headers = new HttpHeaders();
headers.setLocation(ucBuilder.path("/user/{id}").buildAndExpand(user.getUserId()).toUri());
return new ResponseEntity<Void>(headers, HttpStatus.CREATED);
}
//------------------- Update a User --------------------------------------------------------
@RequestMapping(value = "/user/{id}", method = RequestMethod.PUT)
public ResponseEntity<User> updateUser(@PathVariable("id") long id, @RequestBody User user) {
System.out.println("Updating User " + id);
User updateUser = userService.getUser(id);
if (updateUser==null) {
System.out.println("User with id " + id + " not found");
return new ResponseEntity<User>(HttpStatus.NOT_FOUND);
}
updateUser.setUserId(user.getUserId());
updateUser.setName(user.getName());
updateUser.setSurname(user.getSurname());
updateUser.setMail(user.getMail());
updateUser.setLogin(user.getLogin());
userService.edit(updateUser);
return new ResponseEntity<User>(updateUser, HttpStatus.OK);
}
//------------------- Delete a User --------------------------------------------------------
@RequestMapping(value = "/user/{id}", method = RequestMethod.DELETE)
public ResponseEntity<User> deleteUser(@PathVariable("id") long id) {
System.out.println("Fetching & Deleting User with id " + id);
User user = userService.getUser(id);
if (user == null) {
System.out.println("Unable to delete. User with id " + id + " not found");
return new ResponseEntity<User>(HttpStatus.NOT_FOUND);
}
userService.delete(id);
return new ResponseEntity<User>(HttpStatus.NO_CONTENT);
}
// //------------------- Delete All Users --------------------------------------------------------
//
// @RequestMapping(value = "/user/", method = RequestMethod.DELETE)
// public ResponseEntity<User> deleteAllUsers() {
// System.out.println("Deleting All Users");
//
// userService.deleteAllUsers();
// return new ResponseEntity<User>(HttpStatus.NO_CONTENT);
// }
@RequestMapping( value = "/sukces", method = RequestMethod.GET)
@ResponseBody
public String doLogin(){
return "Sukces!!!";
}
@RequestMapping(value = "/time", method = RequestMethod.GET)
public String home(Locale locale, Model model){
logger.info("Sukces!!! {}", locale);
Date date = new Date();
DateFormat format = DateFormat.getDateInstance(DateFormat.LONG, Locale.UK);
String formattedDate = format.format(date);
model.addAttribute("serverTime", formattedDate);
return "loginPage";
}
}