Можете ли вы объяснить мне, как я могу сделать POST-запрос в почтальоне для добавления нового пользователя в мою коллекцию пользователей.
Проблема в том, что я могу добавить пользователя с Get-запросом, но POST-запрос возвращает 403 Запрещено.
Подскажите, как я могу авторизовать POST-запросы?
Я пробовал это решение в моем контроллере, но ничего не исправлено:
@RequestMapping(value = "/users", method = { RequestMethod.GET, RequestMethod.DELETE, RequestMethod.POST })
весной У меня есть 3 сущности: Пользователь, Центр и Роль
Отношения между ними и следующим:
Класс пользователя:
@Document
public class User {
@Id
private String id;
private String login;
private String password;
private String nom;
private String prenom;
private long telephone;
private long idCCMS;
private String matricule;
@DBRef
private Centre centres;
@DBRef
private Role roles;
Роль класса:
@Document
public class Role {
@Id
private String id;
private String role;
private String description;
@DBRef
private Collection<User> users = new ArrayList<>();
Центр класса
@Document
public class Centre {
@Id
private String id;
private String reference;
private String libelle;
@DBRef
private Collection<User> users = new ArrayList<>();
Мой репозиторий:
@Repository
public interface UserRepository extends MongoRepository<User, String> {
List<User>findByMatricule(String matricule);
User findByLogin(String login);
List<User>findByNom(String nom);
List<User>findByPrenom(String prenom);
}
Мой контроллер:
@RestController
@RequestMapping(value = "/users", method = { RequestMethod.GET, RequestMethod.DELETE, RequestMethod.POST })
@CrossOrigin(origins = { "http://localhost:4200" })
public class UserController {
@Autowired
private UserRepository userRepo;
// @Autowired
// private MongoTemplate mtUser;
@GetMapping("/all")
@Query(value = "{}", fields = "{'objectContentAsJson':0}")
public Iterable<User> getall() {
return (userRepo.findAll());
}
@PostMapping("/add")
public User save(@RequestBody User user) {
return userRepo.save(user);
}
Чтобы добавить пользователя в свою базу данных, я добавил этот код в теле почтальона:
{
"id": "5e319750fcf3c73b589b6211",
"login": "aaaa",
"password": "aaaa",
"nom": "aaaa",
"prenom": "aaaa",
"telephone": 97408105,
"idCCMS": 123456,
"matricule": "mat123",
"centres": "5e319dd0730b1659d5910e0c",
"roles": "5e319dd0730b1659d5910e0d"
}
Это правильно добавить идентификатор центра и идентификатор роли в поля центра и роли кода json?
В Почтальон я добавил в " вла В разделе «Тип» Basi c Auth я добавил имя пользователя по умолчанию Spring Security «Use» »и пароль, сгенерированный моим сервером приложений: