Как добавить настраиваемое поле к типу возвращаемой записи HTTP в Ballerina

Я хочу добавить настраиваемое поле как часть тела HTTP. Вот мой код, который работает. Но он не является типобезопасным, посколькуidоткрыт для любых данных и легко допускает ошибки.

      import ballerina/http;

service on new http:Listener(9090) {

    resource function get hello() returns http:Created {
        http:Created res = {body : { id : "123"}};;
        return res;
    }
}

1 ответ

Чтобы сделать этот тип безопасным, мне нужно определить новый тип записи, который представляетполе.

      import ballerina/http;

public type Created record {|
    *http:Created;
    record {|
        string id;
    |} body;
|};

service on new http:Listener(9090) {

    resource function get hello() returns Created {
        Created res = {body: {id: "123"}};
        return res;
    }
}

Определив поле id внутри записи внутри тела, вы можете включить пользовательскую информацию, сохраняя при этом структуру, ожидаемую модулем HTTP.

Другие вопросы по тегам