Storing OpenAPI Specification Document in AWS DocumentDB

0

I am trying to store Open API Doc (Swagger Doc) in AWS DocumentDB which has following Json structure under path section of the doc.

It's failing to save the doc because of the periods in the key under "content", "application/vnd.hedtech.integration.v1.0.0+json". If I replace the periods with underscores it saves. I'm able to save in MongoDB without replacing periods in the key but not in AWS DocumentDB.

What's the best way to handle this?

Thanks,

"responses": {
    "200": {
        "description": "Success",
        "headers": {
            "X-Media-Type": {
                "description": "application/vnd.hedtech.integration.v6.1.0+json",
                "schema": {
                    "type": "string"
                }
            }
        },
        "content": {
            "application/vnd.hedtech.integration.v1.0.0+json": {
                "$ref": "#/components/schemas/api-name.json"
                }
            }
        }
    }
}
maharaj
已提問 1 年前檢視次數 206 次
1 個回答
1

AWS DocumentDB has certain restrictions that MongoDB does not, which can cause some issues when migrating data. One of these restrictions is that it does not allow field names to contain the dot character ('.'), which appears to be the problem you are encountering.

To handle this, there are a few options:

  • Replace the dots in the field names with another character: You mentioned that you have tried this and it works. While this is a possible solution, it may not be ideal if the field names are meaningful and used elsewhere.
  • Store the problematic data as a string: You could potentially store the entire block as a string. However, this would involve serializing and deserializing the data when you read and write it, and you would lose some of the benefits of using a document database.
  • Use a different database that supports field names with dots: If the use of dots in field names is a hard requirement, you may need to consider using a different database that supports this.
profile picture
專家
已回答 1 年前

您尚未登入。 登入 去張貼答案。

一個好的回答可以清楚地回答問題並提供建設性的意見回饋,同時有助於提問者的專業成長。

回答問題指南