POST, PUT | /documents/containerItems |
---|
import Foundation
import ServiceStack
public class ContainerItemsRequest : DocumentRequestBase
{
required public init(){ super.init() }
required public init(from decoder: Decoder) throws {
try super.init(from: decoder)
}
public override func encode(to encoder: Encoder) throws {
try super.encode(to: encoder)
}
}
public class DocumentRequestBase : Codable
{
/**
* ExternalID
*/
// @ApiMember(Description="ExternalID", ExcludeInSchema=true, IsRequired=true, ParameterType="path")
public var externalId:String
required public init(){}
}
public class ContainerItemsResponse : ResponseBase
{
public var containerItems:[String] = []
required public init(){ super.init() }
private enum CodingKeys : String, CodingKey {
case containerItems
}
required public init(from decoder: Decoder) throws {
try super.init(from: decoder)
let container = try decoder.container(keyedBy: CodingKeys.self)
containerItems = try container.decodeIfPresent([String].self, forKey: .containerItems) ?? []
}
public override func encode(to encoder: Encoder) throws {
try super.encode(to: encoder)
var container = encoder.container(keyedBy: CodingKeys.self)
if containerItems.count > 0 { try container.encode(containerItems, forKey: .containerItems) }
}
}
public class ResponseBase : Codable
{
public var message:String
public var isSuccess:Bool
required public init(){}
}
Swift ContainerItemsRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .other suffix or ?format=other
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /documents/containerItems HTTP/1.1
Host: initiation-pen.sirva.com
Accept: text/jsonl
Content-Type: text/jsonl
Content-Length: length
{"ExternalId":"String"}
HTTP/1.1 200 OK Content-Type: text/jsonl Content-Length: length {"ContainerItems":["String"],"Message":"String","IsSuccess":false}