With the help of the dolibarr swagger I generated the client code in rust with openAPI. I end up with a method with the following signature to add a member:
pub async fn create_members(configuration: &configuration::Configuration, create_members_model: Option<crate::models::CreateMembersModel>) -> Result<i64, Error<CreateMembersError>>
Here is the structure of create_members_model :
pub struct CreateMembersModel {
/// Request data
#[serde(rename = "request_data", skip_serializing_if = "Option::is_none")]
pub request_data: Option<Vec<String>>,
}
To create a new member I do :
let dolibarr_info = String::from("{\"field1\":\"value1\",\"field2\":\"value2\",\"field3\":\"value3\"}");
let mut vec = Vec::new();
vec.push(my_string_json);
let member_model = create_members_model::CreateMembersModel {
request_data: Some(vec),
};
And I end up with the following error:
Bad Request: Invalid value specified for `request_data`
When I am in the interface, it offers me the following interface:
{
"request_data": [
"string"
]
}
And it only works when I enter the values in this way:
{
"field1": "value1",
"field2": "value2",
"field3": "value3",
}
I'm sure all the required fields are there and I don't understand what's wrong with the query.