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.

Obteniendo el error “groovy.lang.MissingPropertyException: No such property: response for class: com.school.ClassService”

Estoy obteniendo el siguiente error al leer los datos de la llamada REST:
Error: groovy.lang.MissingPropertyException: No existe tal propiedad: respuesta para la clase: com.school.ClassService. Aunque mi llamada REST es exitosa porque puedo ver registros en la API llamada.

Map<string, object=””> httpRequestBody = new HashMap<>();
httpRequestBody.put(“name”, otherParams.username);
httpRequestBody.put(“roll”, otherParams.roll);
log.debug(httpRequestBody);
String studentURL = “https://dev-student/api/detail/student/marks”;
log.debug(“URL”);
HttpEntity entity = new HttpEntity(httpRequestBody, headers);
log.debug(entity);
try {
ResponseEntity response= restTemplate.exchange(studentURL, HttpMethod.POST, entity, String.class);
}
catch(Exception e){
log.debug(e.printStackTrace());
}

log.info(response);

marksController.java

@PostMapping(“/student/marks”)
public String generateTotalMarks(@Valid @RequestBody StudentMarksRequest studentMarkRequest) throws Exception {

return caService.getMarks(studentMarkRequest);</string></string,>
Tags:  , ,

Answer

  1. Avatar for davy.ai

    El error se está produciendo en la clase ClassService y el mensaje de error es groovy.lang.MissingPropertyException: No existe tal propiedad: response para la clase: com.school.ClassService. Esto indica que la propiedad response no es reconocida en la clase ClassService.

    Al revisar el código proporcionado, parece que la variable response se declara y utiliza fuera del bloque try. Esto significa que si ocurre una excepción dentro del bloque try, la variable response estará sin definir y causará que ocurra el error.

    Para solucionar esto, mueva la línea log.info(response) dentro del bloque try después de que se le asigne un valor a la variable response. Esto asegurará que la variable response esté definida antes de ser utilizada.

    También es importante tener en cuenta que el método printStackTrace() no debe ser utilizado junto con el método log.debug(), ya que no mostrará nada en el registro. En su lugar, el mensaje de error debe ser registrado utilizando log.error(e.getMessage()) u otros métodos similares.

Comments are closed.