package com.converter;
public class DemoObj {
private Long id;
private String name;
public DemoObj() {
// TODO Auto-generated constructor stub
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public DemoObj(Long id, String name) {
super();
this.id = id;
this.name = name;
}
}
package com.converter;
import java.io.IOException;
import java.nio.charset.Charset;
import org.springframework.http.HttpInputMessage;
import org.springframework.http.HttpOutputMessage;
import org.springframework.http.MediaType;
import org.springframework.http.converter.AbstractHttpMessageConverter;
import org.springframework.http.converter.HttpMessageNotReadableException;
import org.springframework.http.converter.HttpMessageNotWritableException;
import org.springframework.util.StreamUtils;
public class MyMessageConverter extends AbstractHttpMessageConverter<DemoObj> {
public MyMessageConverter() {
super(new MediaType("application", "x-wisely", Charset.forName("UTF-8")));
}
@Override
protected boolean supports(Class<?> clazz) {
return DemoObj.class.isAssignableFrom(clazz);
}
@Override
protected DemoObj readInternal(Class<? extends DemoObj> clazz, HttpInputMessage inputMessage)
throws IOException, HttpMessageNotReadableException {
String temp = StreamUtils.copyToString(inputMessage.getBody(), Charset.forName("UTF-8"));
String tempArr[] = temp.split("-");
return new DemoObj(new Long(tempArr[0]), tempArr[1]);
}
@Override
protected void writeInternal(DemoObj t, HttpOutputMessage outputMessage)
throws IOException, HttpMessageNotWritableException {
String out = "hello: " + t.getId() + t.getName();
outputMessage.getBody().write(out.getBytes());
}
}
package com.converter;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class TestController {
@RequestMapping("converter")
public DemoObj converter(@RequestBody DemoObj obj) {
return obj;
}
}
package com;
import java.util.List;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.converter.HttpMessageConverter;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
import com.converter.MyMessageConverter;
@EnableWebMvc
@Configuration
public class MyWebmvcConfig extends WebMvcConfigurerAdapter {
@Override
public void extendMessageConverters(List<HttpMessageConverter<?>> converters) {
converters.add(converter());
}
@Bean
public MyMessageConverter converter() {
return new MyMessageConverter();
}
}
package com.activiti.filter;
import javax.servlet.*;
import javax.servlet.annotation.WebFilter;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
/**
* filter过滤器,获取项目路径,设置ajax超时标识
*
* @author billJiang QQ:475572229
*/
@WebFilter(filterName = "authFilter", urlPatterns = "/*")
public class SystemFilter implements Filter {
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException,
ServletException {
HttpServletRequest request = (HttpServletRequest) servletRequest;
HttpServletResponse response = (HttpServletResponse) servletResponse;
String orig = request.getHeader("origin");
response.setHeader("Access-Control-Allow-Origin",orig);
response.setHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept, " +
"WG-App-Version, WG-Device-Id, WG-Network-Type, WG-Vendor, WG-OS-Type, WG-OS-Version, WG-Device-Model, WG-CPU, WG-Sid, WG-App-Id, WG-Token");
response.setHeader("Access-Control-Allow-Methods", "POST, GET");
response.setHeader("Access-Control-Allow-Credentials", "true");
System.out.println(request.getRequestURL());
filterChain.doFilter(request, servletResponse);
}
@Override
public void destroy() {
}
@Override
public void init(FilterConfig arg0) throws ServletException {
}
}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
</head>
<body>
<div id="app"></div>
<script src="https://cdn.bootcss.com/jquery/2.2.2/jquery.js"></script>
<script src="https://cdn.bootcss.com/vue/2.6.10/vue.js"></script>
<script src="ajax_rwq.js"></script>
<script>
$.ajax({
type: 'post',
//url: "http://localhost:8087" + url,
url: "http://localhost:8090/converter",
beforeSend: function() {
console.log("beforeSend");
},
data: '1-tom',
//dataType: "json",
xhrFields: {
withCredentials: false
},
crossDomain: true,
async: true,
contentType: 'application/x-wisely'
})
.done(data => {
console.log(data);
})
.fail(error => {
console.log("fail");
});
var vm = new Vue({
el: "#app",
data: {
models: []
},
methods: {
toHome: function(id) {
location.href = "index.html";
}
},
created: function() {}
});
</script>
</body>
</html>