Spring Data Rest /search 端点与 MongoDB 地理类型(圆、点)

tro*_*llr 5 java spring mongodb spring-mongo spring-data-rest

我尝试使用 Spring Data REST 和 MongoDB 实现基于位置的搜索。首先我创建了一个模型。

public class Event {

    @Id
    private String id;

    private String name;
    private String description;
    private double[] position;

    .. getter setter ..
}
Run Code Online (Sandbox Code Playgroud)

其次,我添加了一个存储库。

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);

}
Run Code Online (Sandbox Code Playgroud)

但是现在我遇到了我不知道如何为findByPositionWithinfindByPositionNear调用/search端点的问题?我找不到任何关于如何将复杂类型传递给方法的参考文献或文档。

findByName 端点events/search/findByName?name=test运行良好。如何传递 circle 参数?我需要编写自定义消息转换吗?

希望有人有任何建议:)