我尝试使用 Spring Data REST 和 MongoDB 实现基于位置的搜索。首先,我创建了一个模型。
public class Event {
@Id
private String id;
private String name;
private String description;
private double[] position;
.. getter setter ..
}
其次,我添加了一个存储库。
public interface EventRepository extends MongoRepository<Event, String> {
List<Event> findByName(@Param("name") String name);
List<Event> findByPositionWithin(@Param("circle") Circle c);
List<Event> findByPositionNear(@Param("point") Point p, @Param("distance") Distance d);
}
但是现在我遇到了我不知道如何调用findByPositionWithin和findByPositionNear的/search端点的问题?我找不到任何参考或文档如何将复杂类型传递给方法。
findByName 端点events/search/findByName?name=test运行良好。如何传递圆参数?我需要编写自定义消息转换吗?
希望有人有任何建议:)