我正在使用改进后的Spring Boot服务请求,但总是被称为失败回调方法。这是我的简化代码:
Spring Boot服务(管理员):
@RestController
public class ServController {
@Autowired
private UserRepository userRepository;
@RequestMapping(value = "/user", method = RequestMethod.POST)
public Boolean signUpUser(@RequestBody User user)
{
return true;
}
}
我的客户端界面:
public interface ChainApi {
public static final String USER_PATH = "/user";
@POST(USER_PATH)
public void signUpUser(@Body User user, Callback<Boolean> callback);
}
异步 POST 请求:
User user = new User();
user.setId(12);
user.setName(nameEtx.getText().toString());
user.setEmail(emailEtx.getText().toString());
user.setPassword(passwordEtx.getText().toString());
RestAdapter restAdapter = new RestAdapter.Builder()
.setEndpoint(Constant.URL_LOCALHOST)
.build();
ChainApi service = restAdapter.create(ChainApi.class);
service.signUpUser(user, new Callback<Boolean>() {
@Override
public void success(Boolean aBoolean, Response response) {
Log.i(TAG, "Succesfull");
@Override
public void failure(RetrofitError error) {
Log.i(TAG, "Error " + error.getMessage()); // 400 Bad Request
}
});
这是我的用户类(POJO):
@JsonIgnoreProperties(value = { "additionalProperties"})
public class User {
@JsonProperty("id")
private Integer id;
@JsonProperty("name")
private String name;
@JsonProperty("password")
private String password;
@JsonProperty("email")
private String email;
@JsonIgnore
private Map<String, Object> additionalProperties = new HashMap<String, Object>();
// methods
}
注意:我在Android开发,当从邮递员手动发送请求时,我得到200 OK。此外,我在logcat中得到消息:400错误请求
改型使用GSON作为其默认的转换器
@jsonignoreperties
是Jackson的注释。查看您的RestaAdapter,您似乎没有指定Jackson转换器。
Square实现了一个JasksonConverter,您可以通过包含依赖项来使用它。
compile 'com.squareup.retrofit:converter-jackson:X.X.X'
使用与您的改造版本匹配的版本。
然后
JacksonConverter converter = JacksonConverter(new ObjectMapper());
RestAdapter restAdapter = new RestAdapter.Builder()
.setEndpoint(Constant.URL_LOCALHOST)
.setConverter(converter)
.build();
我有一个使用SSL处理设置的Spring Boot应用程序。我使用iptables重新路由将所有端口80流量路由到Spring Boot端口8080,将所有443流量路由到Spring Boot8443。 然后,Spring Boot将所有http流量重定向到https(443)。一切都很好。 现在我想运行Apache2服务器,并使用它将流量重定向到Spring Boot,而不是直接使用iptab
我收到以下控制台日志: 它说“检测到状态变化:正在运行”立即变为“已停止”。我曾尝试: 关闭内部网络的Windows防火墙 在两个位置将httpd.conf文件中的端口80更改为99监听:80和ServerNamelocalhost:80 在相同的两个位置将httpd.conf文件中的端口443更改为445。 我的机器上没有安装Apache服务器作为Windows服务。 没有为今天的日期生成错误或
我在Spring 3中使用@Scheduled annotation。我需要每周或每两周运行一些任务,所以我使用cron表达式作为参数,例如。 我的问题是,如果我将创建必须每7天运行一次的计划任务,并且在第6天我将重新启动服务器(与战争重新部署),它会重置这个计划任务(我需要再次等待7天)还是它会保存其状态并在第7天触发此任务?
我正在使用Spring Boot注册服务器(Eureka服务器)。目前它正在使用以下配置。 项目名称:注册服务 内部主要方式:系统。setProperty(“spring.config.name”、“注册服务”); "yml file": 文件名:注册-服务内容: 通过以上配置,应用程序开始在2323上运行。但如果我换了Spring。配置。名称,它不工作,开始给连接拒绝异常。 > 为什么会这样?即
我正在使用Spring方法级别的注释@cacheable来缓存我从数据库中获取的数据。我可以在服务器启动时使用上述注释执行缓存吗?我尝试了这个,但它再次从数据库而不是从缓存中获取。
启动服务器时获取错误: 通用域名格式。柯萨托德夫。图ql。工具。SchemaClassScannerError:无法将类型定义(非NullType{type=ListType{type=TypeName{name='Person'}}}})与java类型(类com.demo.graphql.entities.Person)匹配:java类不是列表或泛型类型信息丢失:类com。演示。图ql。实体。人