| GET | /v4/links/list |
|---|
import java.math.*
import java.util.*
import java.io.InputStream
import net.servicestack.client.*
import com.google.gson.annotations.*
import com.google.gson.reflect.*
@DataContract
open class GetUserLinksRequest : V4PaginatedBaseRequest()
{
@DataMember(Name="username")
@SerializedName("username")
open var username:String? = null
@DataMember(Name="groupId")
@SerializedName("groupId")
open var groupId:Long? = null
@DataMember(Name="linkType")
@SerializedName("linkType")
open var linkType:LinkType? = null
}
@DataContract
open class V4PaginatedBaseRequest : V4BaseRequest()
{
@DataMember(Name="offset")
@SerializedName("offset")
open var offset:Int? = null
@DataMember(Name="limit")
@SerializedName("limit")
open var limit:Int? = null
}
@DataContract
open class V4BaseRequest
{
}
enum class LinkType
{
None,
Simple,
Split,
Interstitial,
Advanced,
Collection,
}
@DataContract
open class GetUserLinksResponse : V4PaginatedBaseResponse(), IGetUserLinksResponse
{
@DataMember(Name="data")
@SerializedName("data")
override var Data:ArrayList<IUserLink>? = null
}
@DataContract
open class V4PaginatedBaseResponse : V4BaseResponse()
{
@DataMember(Name="page")
@SerializedName("page")
open var page:V4PageObject? = null
}
@DataContract
open class V4BaseResponse
{
@DataMember(Name="status")
@SerializedName("status")
open var responseStatus:ResponseStatus? = null
}
@DataContract
open class V4PageObject
{
@DataMember(Name="offset")
@SerializedName("offset")
open var offset:Int? = null
@DataMember(Name="limit")
@SerializedName("limit")
open var limit:Int? = null
@DataMember(Name="totalRecords")
@SerializedName("totalRecords")
open var totalRecords:Int? = null
}
interface IUserLink
{
var url:String?
var baseCode:String?
var linkType:LinkType?
var typeDefinitionPublicId:String?
var metadata:VersionedRefreshableMetadata?
}
open class VersionedRefreshableMetadata : RefreshableMetadata()
{
open var versionCreatedDate:Date? = null
}
open class RefreshableMetadata : IRefreshableMetadata
{
override var createdDate:Date? = null
override var updatedDate:Date? = null
}
Kotlin GetUserLinksRequest 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.
GET /v4/links/list HTTP/1.1 Host: shortlinks-api.qa.platform.georiot.com Accept: application/xml
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length
<GetUserLinksResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/ShortlinksAPI.ServiceModel.V4.Responses">
<status xmlns:d2p1="http://schemas.servicestack.net/types">
<d2p1:ErrorCode>String</d2p1:ErrorCode>
<d2p1:Message>String</d2p1:Message>
<d2p1:StackTrace>String</d2p1:StackTrace>
<d2p1:Errors>
<d2p1:ResponseError>
<d2p1:ErrorCode>String</d2p1:ErrorCode>
<d2p1:FieldName>String</d2p1:FieldName>
<d2p1:Message>String</d2p1:Message>
<d2p1:Meta xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d5p1:KeyValueOfstringstring>
<d5p1:Key>String</d5p1:Key>
<d5p1:Value>String</d5p1:Value>
</d5p1:KeyValueOfstringstring>
</d2p1:Meta>
</d2p1:ResponseError>
</d2p1:Errors>
<d2p1:Meta xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d3p1:KeyValueOfstringstring>
<d3p1:Key>String</d3p1:Key>
<d3p1:Value>String</d3p1:Value>
</d3p1:KeyValueOfstringstring>
</d2p1:Meta>
</status>
<page>
<limit>0</limit>
<offset>0</offset>
<totalRecords>0</totalRecords>
</page>
<data xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays" i:nil="true" />
</GetUserLinksResponse>