我的休息端点映射有问题。它们涉及分级的自然键。所以我想要缩短路径的路径,然后从更大的项目空间中获得结果。SpringMVC不会映射层次结构URL
问题是,最完全合格的路径工作和合格的路径工作,但不是中间的两条路径;他们返回404而没有进入控制器。所以我认为这是一个映射问题。任何帮助,将不胜感激。
@RestController
@RequestMapping("/bookmark/v1")
public class BookmarkRestController
{
// this works
@GetMapping("/member/{memberId}/content/{contentSource}/{contentType}/{contentId}")
public ResponseEntity<Bookmark> read(
@PathVariable final String memberId,
@PathVariable final String contentSource,
@PathVariable final String contentType,
@PathVariable final String contentId)
{
...
}
// this returns 404 without ever getting into the controller
@GetMapping("/member/{memberId}content/{contentSource}/{contentType}")
public ResponseEntity<Iterable<Bookmark>> read(
@PathVariable final String memberId,
@PathVariable final String contentSource,
@PathVariable final String contentType)
{
...
}
// this returns 404 without ever getting into the controller
@GetMapping("/member/{memberId}content/{contentSource}")
public ResponseEntity<Iterable<Bookmark>> read(
@PathVariable final String memberId,
@PathVariable final String contentSource)
{
...
}
// this works
@GetMapping("/member/{memberId}")
public ResponseEntity<Iterable<Bookmark>> read(@PathVariable final String memberId)
{
...
}
}
@GetMapping("/member/{memberId}/content/{contentSource}/{contentType}/{contentId}")
public ResponseEntity<Bookmark> read(
@PathVariable final String memberId,
@PathVariable final String contentSource,
@PathVariable final String contentType,
@PathVariable final String contentId)
@GetMapping("/member/{memberId}content/{contentSource}/{contentType}")
public ResponseEntity<Iterable<Bookmark>> read(
@PathVariable final String memberId,
@PathVariable final String contentSource,
@PathVariable final String contentType)
@GetMapping("/member/{memberId}content/{contentSource}")
public ResponseEntity<Iterable<Bookmark>> read(
@PathVariable final String memberId,
@PathVariable final String contentSource)
@GetMapping("/member/{memberId}")
public ResponseEntity<Iterable<Bookmark>> read(@PathVariable final String memberId)
是否有意为之,您没有在'{memberId} content'中放置'/'? – dunni