RestControllerでSpring-boot-startter-data-jpaを使用しています。新しく作成されたオブジェクトの場所を返したいと思います。 @ RequestMappingを逆にしてURLを構築する方法をハードコードしない方法はありますか?Springはエンティティへのリンクを取得します
@RestController
@ExposesResourceFor(BookInstance.class)
public class BookInstanceController {
@RequestMapping(value="/bookInstances", method=RequestMethod.POST)
ResponseEntity<BookInstance> createBookInstance(@RequestBody BookInstance bookInstance){
BookInstance createdBookInstance = bookInstanceRepository.save(bookInstance);
return ResponseEntity.created(**reverseURL(createdBookInstance)**);
// return new ResponseEntity<BookInstance>(createdBookInstance, HttpStatus.CREATED);
// return createdBookInstance;
}
}
私はいつも人々が言葉だけせずに私を残し、この機能で自分のURL構造をハードコーディング参照
....もちろん
私も、そうでない場合がある(同じクラスでGET機能を持っています逆に何もないだろう)
@RequestMapping(value="/bookInstances/{id}", method=RequestMethod.GET)
ResponseEntity<?> findOne(@PathVariable("id") Long id){
BookInstance bookInstance = bookInstanceRepository.findOne(id);
if(bookInstance == null){
return ResponseEntity.notFound().build();
}
return new ResponseEntity<BookInstance>(bookInstance, HttpStatus.OK);
}