Каков Тест Турции?

Вы также можете использовать JsonView Annotation, что делает его немного чище. Определите представления

public class View {
    static class Public { }
    static class ExtendedPublic extends Public { }
    static class Private extends ExtendedPublic { }
}

Entity

    @Entity
@Table("entities)
public class MyEntity {

     @ID
     private String name;
     @Column(name="age")
     private int age;
     @JsonView(View.Private.class)
     @Column(name="weight")
     private int weight;

     ...getters and setters..

}

И в вашем контроллере покоя

    @JsonView(View.Private.class)
    @GetMapping
    public MyEntity get(){
       ...
       return myEntity;
    } 

    @JsonView(View.Public.class)
    @GetMapping("url")   
    public List getAll(){
       ...
      return entities;
    }

Уже объяснено здесь: https://stackoverflow.com/ а / 49207551/3005093

35
задан Vadim Kotov 7 December 2017 в 09:08
поделиться

5 ответов

Проблема Турции связана с интернационализацией программного обеспечения или просто с его неправильным поведением в различных языковых культурах.

В разных странах существуют разные стандарты дат написания (14.04.2008 в Турции и 4/14 / 2008 в США), числа (то есть 123,45 в Польше и 123,45 в США) и правила о верхнем регистре символов (как в Турции с буквами i, I и ı).

Как указал Джефф Мозер ниже проблема была названа турецким пользователем, который первым обнаружил ошибку в функции ToUpper () . Более подробно в комментариях ниже.

Однако проблема не ограничивается Турцией и конвертированием строк.

В Польше и многих других странах даты и цифры также пишутся по-разному. и проблемы, связанные с интерпретацией даты или чисел, также называются проблема Турции .

ссылки из Google поиск Турции Проблема с деталями уже дана:

21
ответ дан 27 November 2019 в 07:15
поделиться

Здесь описан тест на индейку

Забудьте о Турции, в США это даже не пройдет. Вам нужно сравнение без учета регистра. Итак, вы пытаетесь:

 String.Compare (строка, строка, bool ignoreCase):

....

Пройдет ли кто-нибудь из них «Тест Турции?»

Не случайно!

Причина: Вы столкнулись с проблемой «Турецкий I».

Как Обсуждаемое многими и многими людьми, «я» на турецком ведет себя иначе, чем на большинстве языков. В соответствии со стандартом Unicode наша строчная буква «i» становится «İ» (U + 0130 «Латинская заглавная буква I с точкой выше»), когда она перемещается в верхний регистр. Точно так же наш верхний регистр «I» становится «ı» (U + 0131 «латинская строчная буква I без точек»), когда он перемещается в нижний регистр.

16
ответ дан 27 November 2019 в 07:15
поделиться

Так называемый «тест Турции» связан с интернационализацией программного обеспечения. Одной из проблем глобализации / интернационализации является то, что форматы даты и времени в разных культурах могут различаться на многих уровнях (порядок день / месяц / год, разделитель даты и т. Д.).

Кроме того, в Турции существуют некоторые специальные правила для капитализации, которые могут привести к проблемы. Например, турецкий символ «i» является распространенной проблемой для многих программ, которые используют его неправильно.

4
ответ дан 27 November 2019 в 07:15
поделиться

Ссылка, предоставленная @Luixv, дает исчерпывающее описание проблемы.

Суть в том, что если вы собираетесь протестировать свой код только в одной неанглийской локали, протестируйте ее на турецком языке.

Это потому, что у турецкого языка есть экземпляры большинства крайних случаев, с которыми вы, вероятно, столкнетесь при локализации, включая «необычные» строки формата и нестандартные символы (такие как различные правила использования заглавных букв для i).

2
ответ дан 27 November 2019 в 07:15
поделиться

У Джеффа Этвуда есть статья в блоге, посвященная той же теме, и это первое место, где я с ней столкнулся. в общем, попытка запустить приложение под турецкой локалью - отличный тест из вашего I18n.

вот джеффс статья

1
ответ дан 27 November 2019 в 07:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: