Dobry wieczór,
od wczoraj rana przeszukuję cały internet szukając informacji na temat tworzenia restowego api w przypadku rejestracji lub logowania by mieć do tych informacji dostęp z poziomu JSON. Mógłby mi ktoś wytłumaczyć z przykładami jak wyglądałaby taka metoda w Springu(pomijajac encje, jsonignore do passów itp., sama metoda @PostMapping)?,
Albo może macie jakies fajne, aktualne tutoriale do tego ale bez uzycia thymeleafa czy innych szablonów, chodzi mi stricte o mappowanie informacji z rejestracji na json by stworzyc z nich widok w np vue.
Na tą chwilę wymyśliłem coś takiego, gdzie metodą getInto() dodajemy w formacie JSON w Postmanie nowych użytkowników(ma to prawo zadzialac?),
@RestController
@RequestMapping("/api/persons")
public class PersonController {
PersonRepository personRepository;
@Autowired
public PersonController(PersonRepository personRepository){
this.personRepository = personRepository;
}
@GetMapping("/")
public String getAll(){
List<Person> person = personRepository.findAll();
return "person";
}
@GetMapping("/{id}")
public Optional<Person> getPerson(@PathVariable Long id){
return personRepository.findById(id);
}
@GetMapping("/{name}")
public List<Person> getName(@PathVariable String name){
return personRepository.findByName(name);
}
@PostMapping
public void getInto(@RequestBody Person person){
personRepository.save(person);
}
}
Kolejne pytanie, przepraszam za mnogość,
Powiedzmy, że wcześniej wklejona klasa RestControllera działa, jak wyglądałaby klasa SpringSecurity by zabezpieczyć określone strony przed dostępem bez logowania?, Odnosimy się do np.
http
.authorizeRequests()
.antMatchers("/").permitAll()
.anyRequest().authenticated()
.and()
.formLogin()
.loginPage("/login")
W jaki sposób front-endowiec będzie wiedział jaki określić URL logowania żeby spring security na nim funkcjonował?, on jest zmuszony odnieść się do informacji podanych przez back-endowca, czyli musi zrobić formularz pod adresem np login.html?
Dziekuje za wszystkie pomocne komentarze,
pozdrawiam