相关疑难解决方法(0)

如何在客户端将byte[]反序列化为Java POJO(或Object),即客户端如何获取类信息?

我有两个相关问题:

  1. 我可以通过网络发送此类的 byte[]:
class Employee implements Serializable{
    byte[] avroBytes, //avro data in byte[] array
    String name
}
Run Code Online (Sandbox Code Playgroud)

在我的测试用例中,使用 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 arrays serialization deserialization spring-boot

4
推荐指数
1
解决办法
3018
查看次数

用于调用REST服务的Java API

任何人都可以建议一个更好的开源Java API来调用REST服务吗?还想知道Restlet API是否支持NTLM身份验证.

谢谢

java rest

3
推荐指数
1
解决办法
1万
查看次数

如何使用spring(或其他任何东西)将对象转换为查询字符串?

有没有办法将对象转换为 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 不是我要找的,因为除了将对象转换为参数字符串之外,它还可以执行所有其他操作。

java http spring-mvc

3
推荐指数
2
解决办法
7106
查看次数

如何避免在Java unirest请求中发送Cookie标头?

我注意到,使用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)

java cookies unirest

3
推荐指数
1
解决办法
1932
查看次数

哪个resteasy-client适合Jboss 6.4 EAP?

我正在 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 jboss resteasy maven jakarta-ee

3
推荐指数
1
解决办法
2777
查看次数