angular.js - angularjs到底如何传参到springMVC

【字号: 日期:2023-01-15浏览:22作者:雯心

问题描述

话说angular的传参转变为json格式,而又需要springMVC有相关的实体类才能用@requestBody去接收。但是如果传的是一般的参数呢,比如一个数组,一个数字id?

当然,传一个数字id可以从请求参数路径传过去。但是,就是传一般的随机的参数,比如data={“xx”,xxx}

和明显,springMVC端是不能像接收jquery时候用@requestParam接收的。

网上看了一大片,说要改请求的header的contentType什么的,可是,设置了也没用.......怎么办?

$http({url:'ts',data={“xx”,xxx},type:'POST'})........

spirngMVC端如何接收data={“xx”,xxx},

问题解答

回答1:

前台代码:

angular.module(’app’) .factory(’Email’, function ($resource) {return $resource(’api/emails/:id’, {}, { ’query’: { method: ’GET’, isArray: true}, ’get’: {method: ’GET’}, ’update’: { method:’PUT’ }}); });

后台接收

@RequestMapping(value = '/emails', method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE)public ResponseEntity<EmailDTO> createEmail(@RequestBody EmailDTO emailDTO) {.....} 回答2:

问题不是angular怎么传参数到后台,主要是看你后台怎么实现的。后台给出一个接口对于angular就足够了,angular直接$http调后台接口就能把参数传给后台了。

$http.get('mainUrl'+parameter).then();

这样就可以把参数parameter传给后台了,至于是get还是post或者其他的主要还是看后台。

相关文章: