我正在使用Ratpack
and构建一个 API Groovy
。POST API 总是给出:
405-找不到方法错误
这是 POST Endpoint Handler 的一个片段。在此代码中,promiseSingle
, then
, observe
, map
, doOnNext
, doOnError
, 等。
RxJAVA
功能不工作。RxJava
方法不起作用有什么原因吗?
saveJsonAsData(context, id)
.promiseSingle()
.then { Data updateddata ->
context.response.headers
.add(HttpHeaderNames.LOCATION, "/api/save/${updateddata.id}/${updateddata.value}")
context.response.status(HttpResponseStatus.CREATED.code())
.send()
}
}
protected Observable<Data> saveJsonAsData(GroovyContext context, String id) {
context.request.body.observe()
.map { TypedData typedData -> extractData(context, typedData) }
.doOnNext { Data data ->
data.id = id
validatorWrapper.validate(data)
}
.flatMap(data.&save as Func1)
.doOnError { Throwable throwable -> log.error("Error saving data", throwable) }
}