PUT | /todos/{Id} |
---|
namespace MyApp.ServiceModel
open System
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations
[<AllowNullLiteral>]
type Todo() =
member val Id:Int64 = new Int64() with get,set
member val Text:String = null with get,set
member val IsFinished:Boolean = new Boolean() with get,set
[<AllowNullLiteral>]
type UpdateTodo() =
interface IPut
member val Id:Int64 = new Int64() with get,set
[<Validate(Validator="NotEmpty")>]
member val Text:String = null with get,set
member val IsFinished:Boolean = new Boolean() with get,set
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.
PUT /todos/{Id} HTTP/1.1
Host: vue-vite-api.jamstacks.net
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<UpdateTodo xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/MyApp.ServiceModel">
<Id>0</Id>
<IsFinished>false</IsFinished>
<Text>String</Text>
</UpdateTodo>
HTTP/1.1 200 OK Content-Type: application/xml Content-Length: length <Todo xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/MyApp.ServiceModel"> <Id>0</Id> <IsFinished>false</IsFinished> <Text>String</Text> </Todo>