POST | /todos |
---|
"use strict";
export class Todo {
/** @param {{id?:number,title?:string,order?:number,completed?:boolean}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
id;
/** @type {string} */
title;
/** @type {number} */
order;
/** @type {boolean} */
completed;
}
export class CreateTodoResponse {
/** @param {{result?:Todo,responseStatus?:ResponseStatus}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {Todo} */
result;
/** @type {ResponseStatus} */
responseStatus;
}
export class CreateTodo {
/** @param {{title?:string,order?:number}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
title;
/** @type {number} */
order;
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /todos HTTP/1.1
Host: todoworld.servicestack.net
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
title: String,
order: 0
}
HTTP/1.1 200 OK Content-Type: text/jsv Content-Length: length { result: { id: 0, title: String, order: 0, completed: False }, responseStatus: { errorCode: String, message: String, stackTrace: String, errors: [ { errorCode: String, fieldName: String, message: String, meta: { String: String } } ], meta: { String: String } } }