В вашей реализации была одна проблема: вы явно создаете объект json и возвращаете его, что не требуется.
Вместо этого вам просто нужно отправить свой Java-POJO / класс, а Spring преобразует его в JSON и вернет.
Spring использует Джексона в качестве сериализатора / десериализатора по умолчанию.Здесь, поскольку объект уже является JSONObject, Джексон не знает, как его сериализовать.
Существует два способа решения этой проблемы
1. Определите свой собственный тип данных и заполните его.
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
@GetMapping(value = "/sectionbyaxepro/{codecomp}", produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<Map<String, String>> getByAxePro(@PathVariable String codecomp) {
Map<String, String> map = new HashMap<>();
map.put("cce0","frityyy");
return ResponseEntity.status(HttpStatus.OK).body(map);
}
Измените существующий код одним из следующих способов.
1
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
@GetMapping(value = "/sectionbyaxepro/{codecomp}", produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<String> getByAxePro(@PathVariable String codecomp) {
JSONObject jsonModel = new JSONObject();
jsonModel.put("cce0","frityyy");
return ResponseEntity.status(HttpStatus.OK).body(jsonModel.toString());
}
2
@GetMapping(value = "/sectionbyaxepro/{codecomp}", produces = MediaType.APPLICATION_JSON_VALUE)
public String getByAxePro(@PathVariable String codecomp) {
JSONObject jsonModel = new JSONObject();
jsonModel.put("cce0","frityyy");
return jsonModel.toString();
}