У меня проблема с AJAX + Rest + Spring boot + MySQL.Запрос является успешным, но ответ пустой, независимо от формата, используемого в запросе.Фактически, полезная нагрузка запроса показывает ["customer": "MyCustomer"], так что проблема в контроллере, я думаю.
Функция AJAX ajax_ciudad (customer) {// onchange en select box
$.ajax({
type: "POST",
contentType: "application/json",
url: "/api/ciudades",
data: JSON.stringify(customer),
dataType: 'json',
cache: false,
timeout: 600000,
}).then(function(data) {
DO SOMETHING....
});
});
}
CONTROLLER
@RestController
@RequestMapping
public class SearchController {
@Autowired
private MyRepository myRepository;
@PostMapping("/api/ciudades")
public @ResponseBody List<?> getSedes(String customer){
List<Canal> ciudades = myRepository.findBySede(customer);
return ciudades;
}
REPOSITORY
@Query(value ="SELECT * FROM canal WHERE cliente = ?1", nativeQuery = true)
List<Canal> findBySede(@Param("customer") String customer);
... Всегда возвращать пустой объект []
введите описание изображения здесь
Я пробовал несколько форматов для данных, я пытался получить значение Select, используя .val (), чтобы получить строку, используя .value, чтобы получить значение html .... Если я поставил вручную параметр, такой как myRepository.findBySede ("MyString ") ответ ajax содержит информацию, но когда я передаю значение, оно не работает;Что я делаю не так?Спасибо за вашу помощь
Мой класс сущности
@Entity
@Table(name = "canal")
public class Canal {
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Column(name = "idcanal", unique = true, nullable = false)
int id;
@Column(name = "cliente")
String cliente;
@Column(name = "ciudad")
String ciudad;
@Column(name = "sede")
String sede;
@Column(name = "canal")
String canal;
@Column(name = "ip_pe")
String ip_pe;
@Column(name = "nombre_pe")
String nombre_pe;
@Column(name = "ipwan_pe")
String ipwan_pe;
@Column(name = "puerto_pe")
String puerto_pe ;
@Column(name = "ipwan_router")
String ipwan_router;
@Column(name = "enrutamiento")
String enrutamiento;
*****getters and setters****
}