es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

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>
Tags:  , , ,

Answer

  1. Avatar for 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.

Comments are closed.