虽然网上每个页面都说@RestController是@Component的规范,但我不知道它是否与DispatcherServlet有关。但是当我通过在 @RestController 和 @Component 之间切换来尝试下面的代码时,我没有看到相同的行为:
首先我尝试使用@RestController:
@RestComponent
public class TestController {
@RequestMapping(value="/testController", method=RequestMethod.POST,consumes=MediaType.APPLICATION_JSON_VALUE)
public void testController() {
System.out.println("Hello");
}
}
Run Code Online (Sandbox Code Playgroud)
我在控制台中得到以下输出:
你好
其次我尝试使用@Component + @ResponseBody:
@Component
@ResponseBody
public class TestController {
@RequestMapping(value="/testController", method=RequestMethod.POST,consumes=MediaType.APPLICATION_JSON_VALUE)
public void testController() {
System.out.println("Hello");
}
}
Run Code Online (Sandbox Code Playgroud)
我在邮递员上收到错误:
{
"timestamp": 1570998345860,
"status": 405,
"error": "Method Not Allowed",
"message": "Request method 'POST' not supported",
"path": "/testController"
}
Run Code Online (Sandbox Code Playgroud)
如果两个注释相同,那么为什么输出存在差异?
下面是 @RestController 和 @Controller 的源代码,可以看出 @RestController 和 @Controller 都是 @Component 的规范:
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Controller
@ResponseBody
public @interface RestController { …Run Code Online (Sandbox Code Playgroud) 下面 hackerearth qn 在编码 qns 之一中被问到
距离零最远
给定一个大小为 N 的整数数组 A。
任务 编写一个程序,打印距离 0 最远的元素。如果有多个元素,则打印值最小的数字。
输入格式
输出格式
打印距离 0 最远的元素。
输入示例1
5
1 2 3 4 5
样本输出1
5
我准备的解决方案:
public static farthestfromzero(int N, int [] Arr) {
TreeSet<Integer> ts = new TreeSet<Integer>();
for (int i=0; i<N; i++){
ts.add(Arr[i]);
}
return ts.last();
}
Run Code Online (Sandbox Code Playgroud)
问:这个解决方案在最初的场景中对我有用,但是当我提交它时,它不起作用。
我有两个班:A班,B班
class A{
private int F1;
private String F2;
}
class B{
private int F3;
private String F4;
private String F5;
}
Run Code Online (Sandbox Code Playgroud)
我想要一个像这样的JSON:
{
"F1": 123
"F2": "ABC"
"F3": 456
"F4": "CDE"
"F5": "FGH"
}
Run Code Online (Sandbox Code Playgroud)
我正在使用springboot,一旦从@RestController返回对象,就会创建JSON.如何使用这两个类来实现上述json.
注意:1.)我已经知道通过使用A类扩展B,我可以实现这一点,但我正在寻找一些基于Spring的方法来实现这一点
2.)在B类中使用@Embeddable,然后在A类中创建引用,在JSON中创建另外的标记B,如下所示:
{
"F1": 123
"F2": "ABC"
b: {
"F3": 456
"F4": "CDE"
"F5": "FGH"
}
}
Run Code Online (Sandbox Code Playgroud) 我想将 'Shri_' 添加到客户表的 First_name 中,仅适用于开头没有 'Mr_' 的名称。客户表数据如下所示:
我正在使用下面的脚本,但它没有帮助。
update customers set first_name = REGEXP_REPLACE(first_name,'^(?!Mr_)(.*)', 'Shri_\2',1,1);
Run Code Online (Sandbox Code Playgroud)
谁能指出我的正则表达式有什么问题。更具体地说,我正在尝试为这种情况找出正确的正则表达式。
我在下面的采访中被问到 qn:
目前 Java 8 中引入了以下哪些功能接口:
我不认为它们中的任何一个是在 Java 8 中引入的。这些接口在 Java 8 之前就已经存在了。
引入了 java.util.function.* ,其中有一些新的接口,如 java.util.function.Predicate、java.util.function.Consumer。
请建议这个问题是否正确