Ich versuche Spring Data REST für elasticsearch zu verwenden. Der integrierte REST-Controller für POST scheint nicht zu funktionieren: Ich erhalte eine Fehlermeldung, wenn ich versuche, ein Dokument zu posten. Die Frage ist leicht zu reproduzieren: ich eine einfache Einheit erstellt:Spring Data REST scheint nicht mit elasticsearch zu arbeiten
@Document(indexName = "user", type = "user", shards = 1, replicas = 0, refreshInterval = "-1")
public class Customer {
@Id
private String id;
@Field(type = FieldType.String, store = true)
private String firstName;
@Field(type = FieldType.String, store = true)
private String lastName;
// getters and setters are skipped
}
Repository:
public interface UserRepository extends ElasticsearchRepository<User, String> {
}
Wenn ich versuche, alle Benutzer zu bekommen erhalte ich die Antwort:
curl -X GET "http://localhost:9000/users"
{
"_links" : {
"self" : {
"href" : "http://localhost:9000/users{?page,size,sort}",
"templated" : true
},
"search" : {
"href" : "http://localhost:9000/users/search"
}
},
"page" : {
"size" : 20,
"totalElements" : 0,
"totalPages" : 0,
"number" : 0
}
}
aber wenn ich versuche, einen Benutzer hinzuzufügen:
curl -i -X POST -H "Content-Type:application/json" http://localhost:9000/users -d '{"id":"4e9e62aa-7312-42ed-b8e4-24332d7973cd","firstName":"test","lastName":"test"}'
Ich erhalte eine Fehlermeldung:
{"cause":null,"message":"PersistentEntity must not be null!"}
Es scheint ein Jira Ticket ohne Kommentare zu diesem Thema geöffnet zu sein: CRUD REST-Controller für Jira Issue
Ich frage mich, ob es möglich ist, zu vermeiden, Schreiben Frühlings-Daten Elasticsearch?
Works definiert ist! Dank dir. – Tarion