我的POST方法如下所示:
@POST
@Consumes({"application/json"})
@Path("create/")
public void create(String param1, String param2){
System.out.println("param1 = " + param1);
System.out.println("param2 = " + param2);
}
Run Code Online (Sandbox Code Playgroud)
当我在Netbeans中创建Jersey客户端时,调用post方法的方法如下所示:
public void create(Object requestEntity){
webResource.path("create").type(MediaType.APPLICATION_JSON).post(requestEntity);
}
Run Code Online (Sandbox Code Playgroud)
运行此测试时:
@Test
public void hello(){
String json = "{param1=\"hello\",param2=\"hello2\"}";
this.client.create(json);
}
Run Code Online (Sandbox Code Playgroud)
它在服务器中提供以下输出:
INFO: param1 = {param1="hello",param2="hello2"}
INFO: param2 =
Run Code Online (Sandbox Code Playgroud)
我需要更改什么才能使参数给出正确的值?
使用jackson 2.1,如何禁用fail_on_empty beans错误消息似乎要我禁用?
我认为这只是世界上最简单的事情,但是现在已经很晚了,我还没能找到一个简单的教程或任何特别明显的教程api.SerializationFactory?为什么他们会让它变得如此不直观,然后使错误信息看起来如此简单?
虽然我做喜欢的错误讯息,我的意思是,它比NPE更好.
我假设有一种方法可以使用注释来实现这一点 - 但我并不热衷于使用它们来完成我正在做的简单工作!
我有一个地图,Map<String, Object> map = new HashMap<>(); 我在此地图中存储多种类型的数据。1.) 原始类型 2.) 用户定义类的对象作为此映射中的值。当我将任何原始类型值转换为对象并存储在 Map 中时,它工作正常,但在用户定义的情况下则不然。在此映射中存储用户定义类型数据时,我收到以下错误:-
**ERROR [WebExceptionHandler] Error occurred while serving request. Response is as [Response(
description=Type definition error: [simple type, class com.yyz.util.Abc];
nested exception is com.fasterxml.jackson.databind.exc.InvalidDefinitionException:
No serializer found for class com.yyz.util.Abc
and no properties discovered to create BeanSerializer
(to avoid exception, disable SerializationFeature.FAIL_ON_EMPTY_BEANS)
(through reference chain: com.xyz.api.web.model.BuResponse["rows"]->java.util.ArrayList[0]->com.xyz.api.web.model.BuRow["children"]->java.util.ArrayList[11]->com.com.xyz.api.web.model.BuRow["[anySetter]"]->java.util.HashMap["column6"]), executionTime=0, responseEntity=<204 No Content,{}>,** responseStatus=ResponseStatus(hasError=true, responseKey=process-exception))]
org.springframework.http.converter.HttpMessageConversionException: Type definition error: [simple type, class com.yyz.util.Abc]; nested exception is com.fasterxml.jackson.databind.exc.InvalidDefinitionException: No serializer found for class …Run Code Online (Sandbox Code Playgroud) java ×3
arraylist ×1
jackson ×1
jax-rs ×1
jersey ×1
json ×1
rest ×1
spring-mvc ×1
web-services ×1