Cómo resolver [org.springframework.web.HttpRequestMethodNotSupportedException: Método de solicitud ‘GET’ no admitido]
Estoy intentando obtener, eliminar y publicar los detalles de los usuarios.
Postman:
Intenté enviar una solicitud usando Postman y mostró estado “401 no autorizado”. He intentado todas las soluciones posibles, pero ninguna de ellas funcionó. Estoy obteniendo este error en el navegador –
Whitelabel Error Page
This application has no explicit mapping for /error, so you are seeing this as a fallback.
Mon Nov 29 14:28:46 IST 2021
There was an unexpected error (type=Method Not Allowed, status=405).
UserController.java
@RestController
@RequestMapping("/user")
public class UserController {
@Autowired
private UserService userService;
// crear usuario
@RequestMapping(value = "/" , method = RequestMethod.POST)
public Users createUser(@RequestBody Users users) throws Exception {
Set<userrole> userroles = new HashSet<>();
Role role = new Role();
role.setRoleName("Estudiante");
role.setRoleID(23L);
UserRole userRole = new UserRole();
userRole.setUsers(users);
userRole.setRoles(role);
userroles.add(userRole);
return this.userService.createUser(users, userroles);
}
@GetMapping("/{username}")
//@RequestMapping(value = "/{username}" , method = RequestMethod.GET)
public Users getUser(@PathVariable("username") String username){
return this.userService.getUser(username);
}
//@DeleteMapping("/{userId}")
@RequestMapping(value = "/{userId}" , method = RequestMethod.DELETE)
public void deleteUser(@PathVariable("userId") Long userId){
this.userService.deleteUser(userId);
}
}
UserServiceImplementation.java
@Service
public class UserServiceImplementation implements UserService {
// Para guardar el usuario
@Autowired
private UserRepository userRepository;
// Para guardar el rol
@Autowired
private RoleRepository roleRepository;
@Override
public Users createUser(Users users, Set<userrole> userRoles) throws Exception {
// verificar si el usuario ya está en la base de datos
Users registrado = this.userRepository.findByUsername(users.getUsername());
// si ya está registrado
if (registrado != null){
System.out.println("¡El usuario ya está registrado!");
throw new Exception("¡El usuario ya está presente!");
}
// si no está registrado
else{
// crear usuario
// el usuario puede tener muchos roles, así que use el bucle for
// acceder a cada rol uno por uno
for (UserRole ur : userRoles){
// guardar todos los roles en el repo de roles
roleRepository.save(ur.getRoles());
}
// asignar todos los roles al usuario
users.getUserRoles().addAll(userRoles);
registrado = this.userRepository.save(users);
}
return registrado;
}
// obtener usuario por nombre de usuario
@Override
public Users getUser(String username) {
return this.userRepository.findByUsername(username);
}
@Override
public void deleteUser(Long userId){
this.userRepository.deleteById(userId);
}
}</userrole></userrole>
davy.ai
Solución de problemas del error 401 No autorizado en Postman
Si estás intentando obtener, eliminar y publicar detalles de usuario y recibes un error 401 No autorizado en Postman, los siguientes pasos pueden ayudarte a resolver el problema:
Paso 1: Verificar Autenticación y Autorización
En primer lugar, verifica tus credenciales de autenticación y autorización. Asegúrate de pasar las credenciales correctas, como nombre de usuario y contraseña o token de acceso, en los encabezados o parámetros relevantes.
Paso 2: Verificar URL y Método HTTP
A continuación, verifica la URL y el método HTTP que estás usando para enviar la solicitud. Comprueba si coinciden con los requisitos de la API. En el código proporcionado, la URL es “/usuario” y los métodos HTTP son POST, GET y DELETE.
Paso 3: Depuración del Código
También puedes depurar el código relevante para ver si hay cualquier problema con la lógica implementada. En el fragmento de código proporcionado, UserController.java y UserServiceImplementation.java son responsables de manejar las solicitudes relacionadas con el usuario.
Paso 4: Verificar la Respuesta del Servidor
Si los pasos anteriores no funcionan, verifica la respuesta del servidor. El mensaje de error “Método no permitido” con un código de estado 405 indica que el método HTTP solicitado no es compatible con la URL del servidor. Por tanto, verifica si el método HTTP que estás usando es compatible con el servidor.
Siguiendo los pasos anteriores, puedes resolver el error 401 No autorizado en Postman y obtener, eliminar y publicar detalles de usuario con éxito.