1503—SpringMVC建立webAPI

本文介绍了如何使用SpringMVC与Jackson进行字符串组装,对象转JSON,并展示了POST请求的两种实现方式,包括设置响应编码和参数解析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、基本用法 

       1—字符串组装        

@RestController
@RequestMapping("/api/Student")
public class StudentController {

        @RequestMapping(value ="/webapi.do",produces = "text/plain;charset=UTF-8",method = RequestMethod.GET)
        public String getOne(){

            StringBuilder  result=new StringBuilder();
            result.append("{\"Success\":\""+"true"+"\",");
            result.append("\"Message\":\""+"第一次测试webApI,返回结果"+"\"");
            result.append("}");

            return result.toString();
        }
}

     说明:@requestMapping注解中的produces属性取值为response的编码值(解决前端显示乱码)

     2—对象转换json

     pom.xml引入jackson依赖     

     jackson和springMVC框架匹配度有要求,不匹配则报BeanInstanceException错误。

<!--   对应于springMVC框架5.0以上版本         -->
<dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-databind</artifactId>
      <version>2.9.0</version>
    </dependency>
<dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-annotations</artifactId>
      <version>2.9.0</version>
</dependency>
<dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-core</artifactId>
      <version>2.9.0</version>
</dependency>

     控制器方法

@RequestMapping(value ="/two.do",produces = "text/plain;charset=UTF-8",method = RequestMethod.GET)
public String getTwo() throws JsonProcessingException {
    //1——ajaxResult为返回结果类对象
     ajaxResult result =new ajaxResult();
     result.setSuccess(true);
     result.setMessage("不确认能不能显示中文");
    //2——转化对象为String
        ObjectMapper  jsonHandler=new ObjectMapper();
        String strRes = jsonHandler.writeValueAsString(result);
        System.out.println("值====================="+strRes);

        return strRes;
}

     说明:依然需要@requestMapping的produces属性进行编码设定。

     3—POST方法另一种写法

@PostMapping(value = "/three.do",produces = "text/plain;charset=UTF-8")
public String getThree( @RequestParam( value = "username",required = true)  String name, @RequestParam(value = "address")   String Address) throws JsonProcessingException {

        ajaxResult result =new ajaxResult();
        result.setSuccess(true);
        result.setMessage("处理后结果  [ "+name+" ]/ " +Address);

        ObjectMapper  jsonHandler=new ObjectMapper();
        String strRes = jsonHandler.writeValueAsString(result);
        return strRes;
}

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值