postForObject Solr запрос - PullRequest
1 голос
/ 10 мая 2019

Я пытаюсь запустить поиск Solr и получаю 400 неверных запросов.

Из одного из наших Linux-боксов я могу запустить это для поиска Solr:

curl "http://address.com:port/solr/core_name/select?indent=on&q=column:first_name,last_name"

Это то, что я написал, чтобы попытаться выполнить этот запрос.

data class RoutingRequest(val columnNames: List<String>)

fun callSolrResponse(routingRequest: RoutingRequest): SolrResponse? {

        val headers = HttpHeaders()
        headers.contentType = MediaType.TEXT_PLAIN

        val request = HttpEntity(routingRequest.columnNames.joinToString(separator =","), headers)

        return restTemplate.postForObject(
                "http://address.com:port/solr/core_name/select?indent=on&q=column:",
                request,
                SolrResponse::class.java
        )
    }

Если я уйду с поля select?indent=on&q=column: и добавлю его в запрос, я получу 404 не найденных.

Должен ли я публиковать запрос как объект JSON?

Если изменить его на запрос на получение и использовать весь URL, возникнет ли проблема, если URL слишком большой? ИДК, как заставить его работать с почтовым запросом:

 fun callSolrResponse(routingRequest: RoutingRequest): SolrResponse? {

        val headers = HttpHeaders()
        headers.contentType = MediaType.TEXT_PLAIN

        return restTemplate.getForObject(
                "http://address.com:port/solr/core_name/select?indent=on&q=column:".plus(routingRequest.columnNames.joinToString(separator =",")),
                SolrResponse::class.java
        )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...