2016-06-14 121 views
0

我面臨着春天控制器的方法有同時使用HATEOAS linkTo以獲得鏈接春天HATEOAS linkTo法withSelfRel()時有多個路徑映射春天控制器的方法值

春天控制器的方法是多路徑值問題不工作如下

`

@RestController`enter code here` 
@RequestMapping("/northwindmodel.svc") 
@ExposesResourceFor(Category.class) 
public class CategoryController { 
@RequestMapping(value = **{"/Categories({categoryID})","/Categories(CategoryID={categoryID}"}**, method = RequestMethod.GET, headers = "Accept=application/json, application/xml", produces = { "application/json" }) 
    public ResponseEntity<Result> read(@PathVariable(value ="categoryID")Integer categoryID) throws NoRecordFoundException{ 
     Category category = this.getService().read(categoryID); 
     return new ResponseEntity<Result>(new Result(getAssembler().toResource(category)),HttpStatus.OK); 
} 
} 

`

資源彙編方法用於鏈接

Link link = linkTo(methodOn(CategoryController.class).read(categoryID)).withSelfRel();

作爲控制器讀取方法有兩個路徑, 1./Categories({categoryID}) 2./Categories(CategoryID={categoryID}

我認爲linkTo方法是無法決定哪條路徑來接,並與錯誤而失敗的

java.lang.IllegalStateException: Multiple method level mappings defined on method public org.springframework.http.ResponseEntity

可以請人幫我這個問題?

感謝 -trim

+0

解決這個問題我不知道你所期望的。 – zeroflagL

+0

@ zeroflagL,我正在與Hateoas的REST資源links.with單個請求路徑值(在控制器方法),Hateoas鏈接工作正常。但對於多個請求路徑failing.so春mvc項目正在尋找修復工作時控制器方法中存在多個路徑值。 –

回答

0

通過升級HATEOAS LIB 0.20 0.16

 <dependency> 
      <groupId>org.springframework.hateoas</groupId> 
      <artifactId>spring-hateoas</artifactId> 
      <version>0.20.0.RELEASE</version> 
     </dependency> 
+0

嗨,我也面臨類似的問題。在我的情況下,我想第二個值路徑,但我總是得到自我鏈接中的第一個值路徑(我沒有得到例外,因爲我使用上面提到的依賴關係)。你有什麼想法如何實現這一點。 – kaka