我想将POST
方法发送到localhost
body
部分内容中的一些内容。我vue
文件中的代码是:
methods: {
login(){
var data = {
username: 'admin',
password: 'admin'
}
this.$http.post("http://localhost:8081/login", data)
.then(response => {
console.log(response)
})
}
}
我使用Spring-boot作为服务器,并在attemptAuthentication
类的实现中使用AbstractAuthenticationProcessingFilter
方法中的断点。检查body
我使用:
String myBody= httpServletRequest.getReader().lines().collect(Collectors.joining(System.lineSeparator()));
但是这个String
总是空的(断点有效)。我尝试将一些值手动设置为post
方法,如:
this.$http.post("http://localhost:8081/login", "exampleData")
但价值仍为空。
当我从Postman发送相同的方法时 - 它运作良好 - myBody
包含正确的值。
我的代码出了什么问题?
@Update
1)对于raw和json,我配置了Postman:
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
。控制台(在浏览中)没有错误