Абстрактные типы ошибок
либо должны быть сопоставлены конкретным типам, имеют пользовательский десериализатор, либо создаются с дополнительной информацией о типе
blockquote>, что означает Джексон не может проанализировать объект на основе интерфейса
DemographicRequest
. Вы должны предоставить конкретные классыNameRequest
,AddressRequest
. Единственное, о чем можно подумать, если использоватьRequestStreamHandler
и выполнять десериализацию «вручную». Но я признаю, что это не особенно элегантно. Например,public class LambdaFunctionHandler implements RequestStreamHandler { @Override public void handler(InputStream inputStream, OutputStream outputStream, Context context) throws IOException, IOException { context.getLogger().log("Input: " + inputStream); final ObjectMapper objectMapper = new ObjectMapper(); try { Object input = objectMapper.readValue(inputStream, NameRequest.class); context.getLogger().log("Name request"); // name specific logic and update in db } catch (JsonMappingException e) { // } try { Object input = objectMapper.readValue(inputStream, AddressRequest.class); context.getLogger().log("Address Request"); //address specific logic and update in db } catch (JsonMappingException e) { // } // TODO: implement your handler outputStream.write("Hello from Lambda!".getBytes()); outputStream.close(); } }
Лучшим подходом, вероятно, будет предоставление отдельного обработчика для каждого типа.
Я нашел решение, так что пишите здесь для тех, у кого может быть такая же ситуация, как у меня. Это отлично работает для моих нужд.
RewriteEngine On
RewriteCond %{HTTP_HOST} ^sub\.example\.com$ [NC]
RewriteRule ^ http://example.com/photos [L,R]