gpt4 book ai didi

java - 如何在odata4j的ODataConsumer中添加头信息?

转载 作者:行者123 更新时间:2023-11-29 09:30:34 26 4
gpt4 key购买 nike

我正在使用此代码,它利用 odata4j ODataClientRequestODataConsumer 尝试调用需要身份验证的 OData 服务:

    String url = "https://mylocalhost/api/odata/People()?$filter=PID%20eq%20'10'";

Map<String, String> headers = new HashMap<String, String>();
headers.put("AccountID", "100");
ODataClientRequest clientRequest = new ODataClientRequest("GET", url, headers, null, null);

ODataConsumer consumer = ODataConsumer.create(url);

for(OEntity entity : consumer.getEntities("People").execute()){

但是,我遇到了身份验证错误,因为服务器正在请求 header 身份验证信息。如何创建包含所需授权 header 信息的 ODataConsumer

最佳答案

我相信您可以在客户端上使用基本身份验证(因为您收到身份验证错误),而不是手动添加 header ,并且可以在设置消费者时添加内置客户端“行为”。 BasicAuthenticationBehavior.java 的代码显示在以下链接中:

BasicAuthenticationBehavior.java

将基本身份验证行为添加到您的 ODataConsumer 的代码类似于以下内容:

ODataConsumer.Builder builder = ODataConsumers.newBuilder(url);
builder.setClientBehaviors(new BasicAuthenticationBehavior(LoginUsername, LoginPassword));
ODataConsumer c = builder.build();

for(OEntity entity : c.getEntities("EntityName").execute()){
System.out.println(entity.getProperty("Name").getValue().toString());
}

关于java - 如何在odata4j的ODataConsumer中添加头信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16530653/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com