通常,在删除请求中,响应代码为204 (no content)
当没有身体可供JSON解码时,你是如何处理这种使用组合的.
func deleteById(_ id: Int) -> AnyPublisher<Void, Error> {
var request = URLRequest(url: URL(string: "http://domain/products/\(id)")!)
request.httpMethod = "DELETE"
return session.dataTaskPublisher(for: request)
.map { (data, response) -> AnyPublisher<Void, Error> in
Just(())
.setFailureType(to: Error.self)
.eraseToAnyPublisher()
}
.eraseToAnyPublisher()
}
Attempt个
func deleteById(_ id: Int) -> AnyPublisher<Void, Error> {
var request = URLRequest(url: URL(string: "http://domain/products/\(id)")!)
request.httpMethod = "DELETE"
return session.dataTaskPublisher(for: request)
.map { _ in return } // return nothing
.eraseToAnyPublisher()
}