2017-05-04 14 views
2

この質問は、Date APIの場合のthis SO problemと非常によく似ています。SpringブートコントローラへのGET要求でLocalDateTime paramを受け入れる方法は?

私はJava 8 LocalDateTime APIでこれを実現したいと思います。私が行うとき、私が取得

@RequestMapping("/locationSnapshot/{userId}/{pointInTime}") 
public MyResponse getLocationInTime(
     @PathParam(value="userId") Long userId, 
     @PathParam(value="pointInTime") 
     @DateTimeFormat(pattern="yyyy-MM-dd'T'HH:mm:ss") LocalDateTime pointInTime) { 

    MyResponse response = new MyResponse(); 
    return response; 
} 

は、

Failed to instantiate [java.time.LocalDateTime]: No default constructor 
found; nested exception is java.lang.NoSuchMethodException: 
java.time.LocalDateTime.<init>() 

答えて

1

利用@PathVariable代わりの@PathParam

@RequestMapping("/locationSnapshot/{userId}/{pointInTime}") 
public MyResponse getLocationInTime(
     @PathVariable(value="userId") Long userId, 
     @PathVariable(value="pointInTime") 
     @DateTimeFormat(pattern="yyyy-MM-dd'T'HH:mm:ss") LocalDateTime pointInTime) { 

    MyResponse response = new MyResponse(); 
    return response; 
} 
0

はあなたpointInTimeパラメータの前@RequestParamを追加してください。

+0

私はこれを取得し、それは** '@のRequestParam'で**正常に動作している間。 OPによると、@ PathParamとして動作させたいと思っています。その上の任意のアイデア? –

+0

'@PathParam'は' javax.ws.rs'パッケージに属しています.REST Webサービスの開発にSpringを使用する場合は、@ RequestParam(またはその他のスプリングアノテーション)を使用する必要があります。 jettyを使用する場合は、 '@ PathParam'を使うべきです。 –

+0

@ ShubhamA。 OK、わかりませんが、 '@PathVariable'を試してみるとどうなりますか? –

関連する問題