gpt4 book ai didi

java - 如何在 Apache Olingo 中创建实体?

转载 作者:行者123 更新时间:2023-11-30 02:40:43 35 4
gpt4 key购买 nike

OData官方教程展示了如何创建实体:http://www.odata.org/getting-started/basic-tutorial/#create

我想使用 Templier 的关于使用 Olingo 操作 OData v4 服务数据的教程在 Apache Olingo 中重现此内容 (https://templth.wordpress.com/2014/12/05/manipulating-data-of-odata-v4-services-with-olingo/)

不幸的是,本教程已过时,我无法创建成功的 POST 请求。尝试执行我的代码会产生 HTTP/1.1 500 内部服务器错误

这是我到目前为止的代码:

String serviceRoot = "http://services.odata.org/V4/TripPinService/";    
String namespace = "Microsoft.OData.SampleService.Models.TripPin";

URI personURI = client.newURIBuilder(serviceRoot)
.appendEntitySetSegment("People").build();
FullQualifiedName personFqn = new FullQualifiedName(namespace, "Person");

ClientEntity personEntity = client.getObjectFactory().newEntity(personFqn);
personEntity.getProperties().add(
client.getObjectFactory().newPrimitiveProperty(
"username",
client.getObjectFactory().newPrimitiveValueBuilder()
.buildString("MaryGilbert")));
//same procedure for "FirstName" and "LastName", which are obligatory fields

ODataEntityCreateRequest<ClientEntity> req = client.getCUDRequestFactory().getEntityCreateRequest(personURI,personEntity);
ODataEntityCreateResponse<ClientEntity> res = req.execute();

我做错了什么?我可以做什么来进一步识别/调试问题?

非常感谢。

最佳答案

我认为属性名称区分大小写,因此请尝试使用 UserName 而不是用户名。此外,您可以使用 Fiddler 来调试您的问题。这是您的用例的错误:

HTTP/1.1 500 Internal Server Error - {"error":{"code":"InternalServerError","message":"The property 'UserName[Nullable=False]' of type 'Edm.String' has a null value

关于java - 如何在 Apache Olingo 中创建实体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41809204/

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