Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

129
Vistas
Tipo de medio no admitido en cartero

Estoy implementando Spring Security con oauth2 y jwt. la siguiente es mi función de inicio de sesión

 function doLogin(loginData) { $.ajax({ url : back+"/auth/secret", type : "POST", data : JSON.stringify(loginData), contentType : "application/json; charset=utf-8", dataType : "json", async : false, success : function(data, textStatus, jqXHR) { setJwtToken(data.token); }, error : function(jqXHR, textStatus, errorThrown) { alert("an unexpected error occured: " + errorThrown); window.location.href= back+'/login_page.html'; } }); }

Y abajo tengo el Controller

 @RequestMapping(value = "auth/secret", method = RequestMethod.POST) public ResponseEntity<?> createAuthenticationToken(@RequestBody JwtAuthenticationRequest authenticationRequest, Device device) throws AuthenticationException { System.out.println(); logger.info("authentication request : " + authenticationRequest.getUsername() + " " + authenticationRequest.getPassword()); // Perform the security System.out.println( authenticationRequest.getUsername()+"is the username and "+authenticationRequest.getPassword()); final Authentication authentication = authenticationManager.authenticate( new UsernamePasswordAuthenticationToken( authenticationRequest.getUsername(), authenticationRequest.getPassword() ) ); SecurityContextHolder.getContext().setAuthentication(authentication); logger.info("authentication passed"); // Reload password post-security so we can generate token final UserDetails userDetails = userDetailsService.loadUserByUsername(authenticationRequest.getUsername()); final String token = jwtTokenUtil.generateToken(userDetails, device); logger.info("token " + token); // Return the token return ResponseEntity.ok(new JwtAuthenticationResponse(token)); }

Pero cuando pruebo la solicitud de publicación con el cartero me muestra

 { "timestamp": 1488973010828, "status": 415, "error": "Unsupported Media Type", "exception": "org.springframework.web.HttpMediaTypeNotSupportedException", "message": "Content type 'multipart/form-data;boundary=----WebKitFormBoundaryY4KgeeQ9ONtKpvkQ;charset=UTF-8' not supported", "path": "/TaxiVis/auth/secret" }

Pero cuando hago cosole.log(data) en la llamada ajax, ¿imprime el token? No pude averiguar qué está mal. Se agradece cualquier ayuda.

about 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Debe establecer el content-type en cartero como JSON (aplicación/json).

Vaya al cuerpo dentro de su solicitud POST, allí encontrará la opción sin procesar.

Justo al lado, habrá un menú desplegable, seleccione JSON (application.json).

about 4 years ago · Santiago Trujillo Denunciar

0

Http 415 Media Unsupported se responde solo cuando el encabezado de tipo de contenido que está proporcionando no es compatible con la aplicación.

Con POSTMAN, el encabezado Content-type que está enviando es Content type 'multipart/form-data not application/json . Mientras está en el código ajax, lo está configurando correctamente en application/json . Pase el encabezado de tipo de contenido correcto en POSTMAN y funcionará.

about 4 years ago · Santiago Trujillo Denunciar

0

También recibí este error. Estaba usando Texto dentro del cuerpo después de cambiar a XML (texto/xml), obtuve el resultado esperado.

  • Si su solicitud es una solicitud XML, use XML (texto/xml).

  • Si su solicitud es JSON, use JSON (aplicación/json)

about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda