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 .xml suffix or ?format=xml
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: application/xml
Content-Type: application/xml
Content-Length: length
<ContainerItemsRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Client_Initiations.ServiceModel.ClientUpload">
<ExternalId>String</ExternalId>
</ContainerItemsRequest>
HTTP/1.1 200 OK Content-Type: application/xml Content-Length: length <ContainerItemsResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Client_Initiations.ServiceModel.ClientUpload"> <IsSuccess>false</IsSuccess> <Message>String</Message> <ContainerItems xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <d2p1:string>String</d2p1:string> </ContainerItems> </ContainerItemsResponse>