我有两个相关问题:
Run Code Online (Sandbox Code Playgroud)class Employee implements Serializable{ byte[] avroBytes, //avro data in byte[] array String name }
在我的测试用例中,使用 MockMvc,我能够对其进行反序列化,然后将其转换为 Employee 对象,因为我的测试用例可以使用代码中的相同 POJO。然而客户端不会有这个 POJO 或类信息。收到字节后,它如何重建这个 POJO(或其他语言中的等效项)或对象?我需要在标头中发送一些类信息吗?客户端可能使用 Python 或其他某种语言,因此我需要一种使此类信息通用的方法。
在我的测试用例中,这是有效的:
Employee res = (Employee ) SerializationUtils.deserialize(result.getResponse().getContentAsByteArray());
Run Code Online (Sandbox Code Playgroud)
如果客户端没有此 POJO/信息,他们将如何将反序列化字节转换为 Employee?我可以在我的测试用例中执行此操作,因为我的代码中有 Employee 类。
评论的附加信息:
我使用 org.springframework.util.SerializationUtils serialize() 方法对其进行序列化
任何人都可以建议一个更好的开源Java API来调用REST服务吗?还想知道Restlet API是否支持NTLM身份验证.
谢谢
有没有办法将对象转换为 GET 请求的查询参数?某种将 NameValuePair 对象转换为 name=aaa&value=bbb 的序列化程序,以便可以将该字符串附加到 GET 请求。
换句话说,我正在寻找一个需要
1. url ( http://localhost/bla)
2. Object:
并将其转换为:
public class Obj {
String id;
List<NameValuePair> entities;
}
http://localhost/bla?id=abc&entities[0].name=aaa&entities[0].value=bbb
Spring RestTemplate 不是我要找的,因为除了将对象转换为参数字符串之外,它还可以执行所有其他操作。
我注意到,使用unirest java库cookie默认情况下是在响应中设置后发送给请求的(就像其他浏览器一样)。有什么办法可以避免呢?
例:
public class Main {
private static HttpResponse<JsonNode> doRequest() throws UnirestException {
try {
HttpResponse<JsonNode> jsonResponse = Unirest
.get("http://example.com")
.header("Accept", "application/json").asJson();
return jsonResponse;
} catch (UnirestException e) {
throw e;
}
}
public static void main(String[] args) throws UnirestException {
//first request receive a set-cookie header in response
doRequest();
//second request send a Cookie header with the cookie set by the first one: can I avoid this?
doRequest();
}
}
Run Code Online (Sandbox Code Playgroud) 我正在 JBoss 上开发 REST 应用程序,我需要使用一些 JAX-RS http 客户端实现。我正在使用 Jboss 6.4 EAP。在这里我发现我需要和2.3.10.Final的版本。resteasy-jaxrsresteasy-jackson-provider
我正在尝试使用resteasy-client,但我不确定它是否可能。在这里我找不到任何像我的其他 Resteasy 相关版本一样的版本。此外,3.x 版本resteasy-client依赖于resteasy-jaxrx3.x 版本,因此会导致RESTEASY001745: Unable to find a public constructor for class org.jboss.resteasy.core.AsynchronousDispatcher
异常。当然,我可以排除resteasy-jaxrx形式resteasy-client,但这不是解决方案。会出现另一个异常(找不到类HeaderValueProcessor.java)
那么可以在 JBoss 6.4 EAP 中使用 Resteasy 客户端吗?
java ×5
arrays ×1
cookies ×1
http ×1
jakarta-ee ×1
jboss ×1
maven ×1
rest ×1
resteasy ×1
spring-boot ×1
spring-mvc ×1
unirest ×1