ajax和controller层的参数对应

ajax如下:

           
            var listInfo = {
		        "c" : 10,
		        "st" : _dataSources || "",
		        "f" : [],
		        "p" : '',
		        "q" : queryInfos,
		        "op" : 'AND',
		        "s" : sortRules,
		        "t" : searchTypes
	        };
            var data={
                "solrText":JSON.stringify(listInfo),//这里要把json对象转为json字符串
        		"templateId":templateId,
    			"jsonQueryText":finalJson
	        };
	        
	        $.ajax({
	        	async:false,
	    		url: extractUrl+'service/storage/extract/term/saveHttpExtractTerm',
	    		type: 'get',
	    		data: data,//注意此时data是json对象,而不是json字符串
	    		dataType: 'json',
	    		success: function (data) {
	    		    //
	    		},
	    		error: function () {
	    			alert("出错了!!!");
	    		}
	    	});

controller接收如下:

@RequestMapping(value = "/saveHttpExtractTerm")
public ResultDataVO saveHttpExtractTerm(@RequestParam String solrText,@RequestParam String templateId,@RequestParam String jsonQueryText) throws IOException {
        //代码
}

 

 

### 控制器方法参数详解 在Web开发框架中,控制器(Controller)负责处理来自客户端的HTTP请求并返回响应。对于Spring Boot中的`@Controller`或`@RestController`类而言,其内部的方法可以接收多种类型的参数来解析利用这些请求。 #### 定义与使用方式 为了使控制器能够理解接收到的数据,在声明方法签名时需指定合适的参数类型以及必要的注解以便于自动绑定过程。常见的做法是在方法形参上加上特定的注释标签,比如: - `@RequestParam`: 用于获取查询字符串(`?key=value`)形式提交过来的名字/值对; - `@PathVariable`: 提取路径变量(`/users/{id}`),其中大括号内的部分即为占位符名称; - `@RequestBody`: 解析POST, PUT等请求体里的JSON/XML等内容至Java对象实例里; - `HttpEntity<T>` 或者 `ResponseEntity<T>` : 可以访问整个HTTP消息头信息连同实体主体一起操作; 下面给出几个具体的例子说明上述概念的应用场景[^2]。 ```java // 示例一:简单GET请求携带单个查询参数 @GetMapping("/greet") public String greet(@RequestParam(value="name", defaultValue="World") String name){ return "Hello "+name; } // 示例二:RESTful风格API设计——通过URI模板匹配ID字段 @GetMapping("/person/{id}") @ResponseBody public Person getPersonById(@PathVariable Long id){ // 假设这里是从数据库查找对应记录... return new Person(id,"John Doe"); } ``` 当涉及到更复杂的数据结构传输需求时,则推荐采用`@ModelAttribute`配合表单提交或是借助AJAX异步调用来发送带有自定义POJO(JSON序列化后的))的消息给服务器端进行反序列化映射成相应领域模型。 此外还存在其他一些辅助性的元数据属性可供选用,例如校验输入合法性、拦截异常情况等等功能扩展点。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值