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

246
Vistas
El uso de la anotación @Consumes en la llamada a la API Rest genera un error interno del servidor 500

Estoy tratando de crear un complemento de compilación personalizado utilizando el marco SDK de Atlassian y he desarrollado una API Rest de compilación personalizada para actualizar los datos almacenados en la base de datos.

Estoy invocando el resto de la API usando una llamada AJAX desde un archivo JavaScript como se indica a continuación:

 $.ajax({ headers:{ 'Content-Type':'application/json', 'Accept': 'application/json' }, url : serviceUrl + "rules/update", type: "POST", data : ruleObj })

Esta llamada API invocará la siguiente API REST:

 @Path("/rules") public class fieldsResource { @POST @Path("/update") @Produces({ MediaType.APPLICATION_JSON }) @Consumes({ MediaType.APPLICATION_JSON }) public Response update(@Context HttpServletRequest req, @Context HttpServletResponse res) { jiraAuthenticationContext = ComponentAccessor.getJiraAuthenticationContext(); appuser = jiraAuthenticationContext.getLoggedInUser(); // Fetch rule id of rule which need to be updated final int ruleId = Integer.parseInt(req.getParameter("id")); Rules rule = rule.findRuleById(ruleId); boolean ifUserHasRequiredAccess = ifUserHasRequiredAccess(req, res, projectKey, appuser, userManager, jiraAuthenticationContext, loginUriProvider); if (ifUserHasRequiredAccess) { log.warn("Update API is invoked for rule " + ruleId + " to update Action triggered by : " + appuser); return Response.noContent().build(); } return Response.status(401).build(); } }

Inicialmente, sin agregar Content-Type, Aceptar en el archivo JS y sin agregar @Consumes ({ MediaType.APPLICATION_JSON }) La llamada a la API fue exitosa, pero después de agregar @Consumes ({ MediaType.APPLICATION_JSON }), obtengo 500 Error interno del servidor.

Intenté agregar 'text/plain' también, luego también arroja 500 Internal Server Error.

Necesito agregar @Consumes({ MediaType.APPLICATION_JSON }) para esta llamada a la API. ¿Alguien puede guiarme para resolver este problema?

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Según su fragmento de código, no está devolviendo ningún objeto en el cuerpo de la respuesta.

 return Response.noContent().build(); or return Response.status(401).build();

@Consumes espera que su API devuelva una respuesta json.

¿Quieres que la API devuelva alguna respuesta?

about 4 years ago · Juan Pablo Isaza 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