JAX-RS帕拉姆轉換器 - 編譯時錯誤,這是我的PARAM轉換器使用它
import org.springframework.data.domain.Sort;
public class MyParamConverter implements ParamConverter<Sort> {
@Override
public Sort fromString(String s){
return new Sort(new Sort.Order(Sort.Direction.ASC, "ds"));
}
@Override
public String toString(Sort mo){
return mo.toString();
}
}
這是我paramconverter提供商
@Provider
public class MyParamConverterProvider implements ParamConverterProvider {
@Override
public <T> ParamConverter<T> getConverter(Class<T> rawType, Type genericType, Annotation[] annotations) {
if(rawType.equals(Sort.class)){
return (ParamConverter<T>) new MyParamConverter();
}
return null;
}
我想在我的API使用,因爲
@GET
@Path("/")
Response read(@QueryParam("sort") Sort order);
我期待的jax映射字符串,我通過我的url例如&sort="asc"
來排序對象。但是我得到編譯時錯誤have a registered implementation of paramconverter provider
。當我通過查詢參數&sort="somethung"
時,我需要找到一種方法,通過使用自定義註釋或使用Param Converter
自動轉換爲SORT
。
? – sschrass
@sschrass。那就是問題所在。我不知道如何註冊提供商。 – user3678399