我正在尝试使用angular及其http库向我的spring rest api发送发布请求。
目前在邮递员中(成功),我正在以这种方式发送数据:
如何通过angular以相同的方式发送数据?
当前,这是我的数据的样子:
onSignIn(form: NgForm) {
const email = form.value.email;
const password = form.value.password;
const reqData = {
'app_uname': email,
'app_pass': password
};
}
添加有关我的后端代码的更多信息:
我的rest api看起来像这样:
@RequestMapping(value = "/login", method = RequestMethod.POST)
@ResponseBody
public ResponseEntity<String> handle(@RequestParam(value = "reqData") String reqData,HttpServletRequest request)
所以我应该发送一个键和值(我不知道打字稿中的数据结构,但是在Java中是MultiValueMap),其中键是reqData,值应该是字符串或json对象中的json。
如何将我的reqData json转换为MultiValueMap格式?
我也尝试了formData和Map:
const formData: FormData = new FormData();
formData.append('reqData', JSON.stringify(reqData));
const map = new Map();
map.set('reqData', reqData);
答案 0 :(得分:0)
要使用formdata将数据发送到服务器,可以这样做
const email = form.value.email;
const password = form.value.password;
const formData: FormData = new FormData();
formData.append("email ", email);
formData.append("password ", password);
// then http post to server
修改
如果您想将数据作为json提交,则需要这样做
const email = form.value.email;
const password = form.value.password;
const reqData = {
'app_uname': email,
'app_pass': password
};
const formData: FormData = new FormData();
formData.append("reqData", JSON.stringify(reqData));
// then http post to server and in the server you need to parse the json string
希望它可以解决您的问题。请让我知道这是否可以解决您的问题
答案 1 :(得分:0)
您可以创建一种发布方法,如下所示:
var model = {email: youremail, password: yourpassword};
post(url: string, model: any): Observable <any> {
let formData: FormData = new FormData();
formData.append('app_uname', model.email);
formData.append('app_pass', model.password);
return this._http.post(url, formData)
.map((response: Response) => {
return response;
}).catch(this.handleError);
}
答案 2 :(得分:0)
这就是我将请求发送到后端的过程。
我创建了所需的json,然后创建了一个请求参数字符串
df['sum'] = (df[['a', 'b']].apply(lambda x: pd.to_numeric(x, errors='coerce'))
.sum(axis=1, min_count=1))
print (df)
a b sum
0 c d NaN
1 1 2 3.0
2 3 4 7.0
已发送成功请求。