我正在使用spring数据(mongoDb),我有我的存储库:
public interface StoriesRepository extends PagingAndSortingRepository<Story, String> {}
Run Code Online (Sandbox Code Playgroud)
然后我有一个控制器:
@RequestMapping(method = RequestMethod.GET)
public ResponseEntity<Page<StoryResponse>> getStories(Pageable pageable) {
Page<StoryResponse> stories = storiesRepository.findAll(pageable).map(StoryResponseMapper::toStoryResponse);
return ResponseEntity.ok(stories);
}
Run Code Online (Sandbox Code Playgroud)
一切正常,但我无法使用RestTemplate getForEntity方法使用我的端点:
def entity = restTemplate.getForEntity(getLocalhost("/story"), new TypeReference<Page<StoryResponse>>(){}.class)
Run Code Online (Sandbox Code Playgroud)
我应该提供什么类来成功反序列化我的实体页面?
我正在使用MariaDb服务器(Ver 15.1 Distrib 10.2.7-MariaDB)。当我执行
CREATE TABLE `my_table` (
`id` INT NOT NULL,
`name` NVARCHAR(64) NULL,
PRIMARY KEY (`id`)
);
Run Code Online (Sandbox Code Playgroud)
描述输出:
MariaDB [db]> describe my_table;
+-------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id | int(11) | NO | PRI | NULL | |
| name | varchar(64) | YES | | NULL | |
+-------+-------------+------+-----+---------+-------+
2 rows in set (0.00 sec)
Run Code Online (Sandbox Code Playgroud)
为什么没有错误,并且“名称”列的数据类型是varchar(不是nvarchar)?
数据库模式详细信息:
Default collation: utf8_general_ci
Default characterset: utf8
Run Code Online (Sandbox Code Playgroud)