Я реализую запрос на отдых в C # с библиотекой RestSharp.
Это работа с @QueryParam на стороне сервера.
Но когда я использую бин, у меня появляется эта ошибка:
line 0:-1 no viable alternative at input '<EOF>'
Таким образом, запрос отлично работает с этим кодом:
@POST
@Path("/test")
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
public BasicResult test (@QueryParam("code") String code) {
if (code != null) System.out.println("Code : "+code);
else System.out.println("Paramètres null");
return new BasicResult(0, "Requête OK test");
}
А с бобом:
@POST
@Path("/testBean")
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
public BasicResult testBean (TestBean testBean) {
if (testBean != null && testBean.getCode() != null) System.out.println("Code : "+testBean.getCode());
else System.out.println("Paramètres null");
return new BasicResult(0, "Requête OK testBean");
}
Код, используемый в C # здесь:
var client = new RestClient("http://url");
var request = new RestRequest("/action/testBean/", Method.POST);
request.AddHeader("Accept", "application/json");
request.AddHeader("Content-Type", "application/json");
request.AddParameter("code", "AAA", ParameterType.QueryStringWithoutEncode);
IRestResponse response = client.Execute(request);
var content = response.Content;
Для справки, код с bean-компонентом прекрасно работает с собственным ответом.