```swift func postTodo() { let message = #"{"message": "my new Todo"}"# let request = RESTRequest(path: "/todo", body: message.data(using: .utf8)) Amplify.API.post(request: request) { result in switch result { case .success(let data): let str = String(decoding: data, as: UTF8.self) print("Success \(str)") case .failure(let apiError): print("Failed", apiError) } } } ``` ```swift func postTodo() -> AnyCancellable { let message = #"{"message": "my new Todo"}"# let request = RESTRequest(path: "/todo", body: message.data(using: .utf8)) let sink = Amplify.API.post(request: request) .resultPublisher .sink { if case let .failure(apiError) = $0 { print("Failed", apiError) } } receiveValue: { data in let str = String(decoding: data, as: UTF8.self) print("Success \(str)") } return sink } ```