Я хочу отправить POST
метод localhost
который некоторое содержание в body
часть. Мой код из vue
файла:Vue.js тело почтового метода всегда пусто
methods: {
login(){
var data = {
username: 'admin',
password: 'admin'
}
this.$http.post("http://localhost:8081/login", data)
.then(response => {
console.log(response)
})
}
}
Я использую Spring-загрузку в качестве сервера и иметь точку останова в attemptAuthentication
методе от реализации AbstractAuthenticationProcessingFilter
класса. Для проверки body
я использую:
String myBody= httpServletRequest.getReader().lines().collect(Collectors.joining(System.lineSeparator()));
но String
всегда пустой (точки останова работы). Я попытался поставить некоторые значения вручную post
метод как:
this.$http.post("http://localhost:8081/login", "exampleData")
но значение по-прежнему пусто.
Когда я отправляю тот же метод из Почтмана - он работает очень хорошо - myBody
содержит правильное значение.
Что не так с моим кодом?
@Update
1) для сырой и JSON я настроил Почтальон:
myBody = {"username":"admin","password":"admin"}
myContentType = application/json
java классы выглядят так:
myBody =
------WebKitFormBoundarykeEtHWmW4BBv2y0t
Content-Disposition: form-data; name="username"
admin
------WebKitFormBoundarykeEtHWmW4BBv2y0t
Content-Disposition: form-data; name="password"
admin
------WebKitFormBoundarykeEtHWmW4BBv2y0t--
@Update
Я добавил заголовок для моего post
метода:
methods: {
login(){
this.$http.post("http://localhost:8081/login", "exampleData", {
headers: {
'content-type' : 'application/json'
}
})
.then(response => {
console.log(response)
})
}
}
но в классе Java myBody
пуст и content-type
является null
. Нет ошибок в консоли (в режиме просмотра)
Я отредактировал мой пост – littlewombat
Если вы используете 'форм-data' для передачи данных, вы должны убедитесь, что контент-тип запроса для броузера = 'application/x-www-form-urlencoded; charset = utf-8' – Surmon
Мое решение использует тип' application/json'. – Surmon