Прежде всего, в качестве стандарта мы должны использовать POST для вставки и PUT для операций обновления. Эта ошибка возникает, когда проблема возникает на стороне сервера. (Состояние HTTP 500 - Внутренняя ошибка сервера)
Труднее сказать, что происходит, посмотрев на клиентскую часть. Поэтому, пожалуйста, опубликуйте трассировку стека ошибок сервера.
Также заметил, что массив объектов дает параметры в вашем запросе новый объект [] {firstName, lastName}
jdbcTemplate.update("insert into ride (name, duration) values (?,?)", new Object[] { ride.getName(), ride.getDuration()});