`

Request请求相关

 
阅读更多

Request请求相关

 

package com.hous.springmvc.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.CookieValue;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestHeader;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;

@RequestMapping("/shanshanbox")
@Controller
public class ShanShanBox {

	private static final String SUCCESS = "success";
	
	/**
	 * Rest风格的URL
	 * 以CRUD为例:
	 * 新增:/order POST
	 * 删除:/order/1 DELETE   delete?id=1
	 * 修改:/order/2 PUT   	 update?id=2
	 * 查询:/order/3 GET      get?id=3
	 * 
	 * 如何发送PUT请求和DELETE请求
	 * 1.配置HiddenHttpMethodFilter
	 * 2.发送post请求
	 * 3.form发送post请求是,添加隐藏域name="_method",值为DELETE或PUT
	 * 
	 * 在springmvc的目标方法中可以通过@PathVariable注解得到id值
	 */
	@RequestMapping(value="/testRest/{id}",method=RequestMethod.GET)
	public String testGet(@PathVariable String id) {
		System.out.println("get restful " + id);
		return SUCCESS;
	}
	
	@RequestMapping(value="/testRest",method=RequestMethod.POST)
	public String testPost() {
		System.out.println("post restful");
		return SUCCESS;
	}
	
	@RequestMapping(value="/testRest/{id}",method=RequestMethod.PUT)
	public String testPut(@PathVariable String id) {
		System.out.println("put restful " + id);
		return SUCCESS;
	}
	
	@RequestMapping(value="/testRest/{id}",method=RequestMethod.DELETE)
	public String testDelete(@PathVariable String id) {
		System.out.println("delete restful " + id);
		return SUCCESS;
	}
	
	
	/**
	 * 使用@RequestParam绑定请求参数
	 * value请求参数的参数名
	 * required值是否必须
	 * defaultValue请求参数的默认值
	 * @return
	 */
	@RequestMapping(value="/testRequestParam")
	public String testRequestParam(@RequestParam(value="n") String name, 
			@RequestParam(value="a",required=false, defaultValue="0") Integer age) {
		System.out.println("user name: " + name + " and age: " + age);
		return SUCCESS;
	}
	
	/**
	 * 使用@RequestHeader绑定请求头信息
	 * @param language
	 * @return
	 */
	@RequestMapping(value="/testRequestHeader")
	public String testRequestHeader(@RequestHeader(value="Accept-Language") String language) {
		System.out.println("Accept-Language=>" + language);
		return SUCCESS;
	}
	
	
	/**
	 * 使用@CookieValue映射cookie值
	 * @param sessionId
	 * @return
	 */
	@RequestMapping(value="/testCookieValue")
	public String testCookieValue(@CookieValue("JSESSIONID") String sessionId) {
		System.out.println("sessionId=>" + sessionId);
		return SUCCESS;
	}
	
}

 

分享到:
评论

相关推荐

    Java中Request请求转发详解

    Java中Request请求转发详解 Java中Request请求转发是指在Servlet中使用RequestDispatcher将请求转发到另一个Servlet或JSP页面,以实现请求的重定向或包含。在本文中,我们将通过示例代码详细介绍Java中Request请求...

    filter对request请求拦截,对请求参数进行修改

    对request请求进行拦截,对请求参数修改。常用于前台提交表单参数关键字的过滤。此工具可以对参数拦截并转义后提交到对应的处理类。 除了添加两个JsFilter.java和GetHttpServletRequestWrapper.java之外,需要在web....

    C# Request请求类

    C# Request请求类 直接进行封装Request后台请求,非WebClient。 摘要必须大于50个字! 摘要必须大于50个字!

    微信小程序开发:request请求后台获取不到data解决方法

    微信的request的post请求后台获取不到data(当初这个问题纠结了好久好久),原因是post传递的data是json格式而不是key,value的格式,所以获取不到相应的data就是post请求应为表单模式的data,微信小程序提供的data...

    过滤器拦截并处理request请求

    例如,在标题提到的情景中,我们可以捕获`HttpServletRequest`对象(即request请求),对请求参数、请求头或请求体进行修改。这可能包括添加、删除或修改数据,甚至改变请求的方法(如GET转为POST)。此外,过滤器也...

    TP5 Request 请求对象

    在控制器方法中,我们可以直接声明`$request`作为参数,TP5会自动注入当前的请求实例: ```php public function index(Request $request) { // ... } ``` 这样,我们就可以直接使用`$request`对象来获取请求信息...

    微信小程序-控制微信小程序 wx.request 并发请求数量

    管理微信小程序 wx.request 方法的并发数,解决请求数大于 10 时,直接不请求的问题。如果需要 wx.request 方法支持 Promise,可以使用 wx-promise-request 库哦。 下载 由于小程序不支持 npm,所以直接右键保存 ...

    UniApp中封装request网络请求包含GET、POST、PUT、DELETE等

    在这个封装中,我们为GET、POST、PUT和DELETE方法提供了统一的调用接口,并在`request`函数中处理了基础的请求配置,如URL前缀、数据序列化、添加认证头以及错误处理。`showLoading`和`loadingText`用于显示加载提示...

    微信小程序 请求 封装, promise, 请求并发限制, 排队请求, ...wx-request-master.zip

    3. **请求封装**:为了提高代码复用性和可维护性,开发者通常会将`wx.request()`进行封装,创建一个自定义的请求函数。封装时,可以添加通用的配置,如默认的URL前缀、请求头、错误处理等,同时提供更友好的API,...

    C# request获取参数.docx

    Request 对象提供了多种方式来获取请求参数,本文将详细介绍 Request.Params、Request、Request.QueryString、Request.Form 和 Request.Cookies 等对象的用法和区别。 一、Request.Params Request.Params 是所有 ...

    cross-request 3.1 YApi 跨域请求 谷歌浏览器

    cross-request 3.1 YApi 跨域请求 谷歌浏览器

    如何伪造IP 发送HTTP请求request

    代理服务器作为中间人,接收客户端的请求,然后使用其自己的IP地址向目标服务器转发请求,从而实现IP的伪装。 4. **编程实现**:在描述中提到的"VC+ASP",VC指的是Visual C++,ASP则指Active Server Pages,这是一...

    node使用request请求的方法

    近期使用node做服务端渲染,作为中间层需要请求后端接口,需要封装服务端的请求,接下来来了解下如何使用 request。 基本使用 const request = require('request') 引入这个包就可以开始使用了,最简单的使用方式...

    python爬虫实现POST request payload形式的请求

    在处理某些网站时,我们可能遇到POST请求需要使用`request payload`格式的情况。与常见的`form data`不同,`request payload`是一种将数据以JSON或其他格式发送到服务器的方式。本文将详细介绍这两种数据格式的区别...

    Ext.Ajax.request2.x实现同步请求

    `ext-basex.js`是EXTJS的基础组件文件,其中包含了Ajax请求的相关实现。在旧版本中,可能需要对请求选项进行更详细的配置来适应不同的浏览器环境。 在EXTJS中,`Ext.Ajax`对象提供了丰富的配置项和方法,如`params`...

    Flask框架请求钩子与request请求对象用法实例分析

    在Flask框架中,请求钩子(Request Hooks)和request请求对象是两个核心概念,用于增强应用程序的功能和处理请求生命周期的不同阶段。以下是对这两个概念的详细解析: **请求钩子(Request Hooks)** 请求钩子是...

    uniapp封装好的request请求

    uniapp封装好的request

    如何在ajax请求中设置特殊的RequestHeader

    如何在ajax请求中设置特殊的RequestHeader示例

    httpclient、Request请求JAR包

    Request是对httpclient的封装,类似于python的request库,用法Request.Get(pictureUrl).execute().returnContent().toString();需要以来httpclient和httpcore包。2020年1月更新。

    ext-basex.js 进行Ext.Ajax.request 同步请求 FF无法正常

    在`ext-basex-debug.js`这个文件中,很可能包含了ExtJS的BaseX扩展或者其他与请求相关的代码。通过查看这个文件,我们可以找到具体的实现细节,了解问题的具体原因。可能的问题包括错误的配置、不兼容的API使用或是...

Global site tag (gtag.js) - Google Analytics